- Katılım
- 27 Temmuz 2018
- Mesajlar
- 11.217
- Makaleler
- 5
- Çözümler
- 57
Kafayı yiyeceğim, sanırım build configimde ya da editörlerimdeki bir ayar yanlışlığından muzdaribim fakat yeter.
"images" adlı bir klasörüm var ve bu klasör içinde ise "apikey.json" diye bir dosyam var bunun içinde ise haliyle API anahtarım yazıyor. Yapmaya çalıştığım şey sadece o dosyadaki metini okumak ve get requesti yapmak linke ekleyerek.
Projenin içi bu şekilde
Meteo.csproj dosyamın içi bu şekilde, images klasörünü aldığım yere kadar attım.
ApiReq.cs adlı request atan sınıfımdaki API keyini alıp okuyan metod:
Aldığım çıktı:
Tam yolu girince alıyor fakat oradaki göreli yolu girince (başına avares://, ./, ./Meteo/ ya da Meteo/ yazsam bile) olmuyor.
Bir garip sorun daha ise, debug yaparken çalışmıyor fakat build alıp images klasörünü build aldığım klasöre atınca çalışıyor.
Ben bir yerde mallık yaptığımı biliyorum fakat nerede yaptığımı bilmiyorum.
"images" adlı bir klasörüm var ve bu klasör içinde ise "apikey.json" diye bir dosyam var bunun içinde ise haliyle API anahtarım yazıyor. Yapmaya çalıştığım şey sadece o dosyadaki metini okumak ve get requesti yapmak linke ekleyerek.
Projenin içi bu şekilde
Meteo.csproj dosyamın içi bu şekilde, images klasörünü aldığım yere kadar attım.
HTML:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<Nullable>enable</Nullable>
<BuiltInComInteropSupport>true</BuiltInComInteropSupport>
<ApplicationManifest>app.manifest</ApplicationManifest>
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
</PropertyGroup>
<ItemGroup>
<Folder Include="Models\" />
<AvaloniaResource Include="Assets\**" />
<AvaloniaResource Include="images\**"/>
</ItemGroup>
ApiReq.cs adlı request atan sınıfımdaki API keyini alıp okuyan metod:
Kod:
private async void LoadApiKey()
{
try
{
using (var reader = File.OpenText("images/apikey.json"))
{
var fileText = await reader.ReadToEndAsync();
jsonAPIKey = fileText;
}
var config = JsonSerializer.Deserialize<WeatherGetApiConfig>(jsonAPIKey);
_apikey = config?.apikey;
}
catch (Exception ex)
{
Console.WriteLine($"API anahtarını yüklerken hata oluştu: {ex.Message}");
}
}
Aldığım çıktı:
Kod:
API anahtarini y klerken hata olustu: Could not find a part of the path 'C:\kod\RiderProjects\Meteo_18.10.23\bin\Debug\net7.0\Meteo\images\apikey.json'.
json file not found
Tam yolu girince alıyor fakat oradaki göreli yolu girince (başına avares://, ./, ./Meteo/ ya da Meteo/ yazsam bile) olmuyor.
Bir garip sorun daha ise, debug yaparken çalışmıyor fakat build alıp images klasörünü build aldığım klasöre atınca çalışıyor.
Ben bir yerde mallık yaptığımı biliyorum fakat nerede yaptığımı bilmiyorum.