Daha fazla
- Sistem Özellikleri
- HP Victus 16 S1035NT
- Cinsiyet
- Erkek
- Meslek
- Yazılımcı/Yayıncı
Selamlar. Bugün biraz internette zor bulunan ve makalesinden de tam emin olamadığım bir konuyla geldim. Amacım şu:
Sadece WinRT'ye özel bir kod bloğunu WinForms, WPF vb. teknolojilerin kullanımına kapatmak. Bunun için de en safe yöntem Conditional compilation olduğunu düşünüyorum. Yâni direkt otomatik algılayıp compile sırasında o kısmı build etmeyecek. WinRT #if'i tek başına işe yaramıyor. Bunu da nasıl 4/4'lük yapabileceğimi bulamadım.
Örnek olarak şöyle açıklayayım:
Kodda bu şekilde kullanıyoruz ama .csproj'a da:
Tarzında eklenmesi gerekiyor ama sadece Framework vb. gibi değil de X NuGet'i yüklüyse nasıl yapabiliriz tam anlayamadım. Mesela WinUI'da kullanılan NuGet'lar:
Bunları da algılayabilmesi için cond ekleyebiliyoruz sanırım.
@bitwise @TheAny yardımcı olabilir misiniz bu konuda bilginiz varsa?
Sadece WinRT'ye özel bir kod bloğunu WinForms, WPF vb. teknolojilerin kullanımına kapatmak. Bunun için de en safe yöntem Conditional compilation olduğunu düşünüyorum. Yâni direkt otomatik algılayıp compile sırasında o kısmı build etmeyecek. WinRT #if'i tek başına işe yaramıyor. Bunu da nasıl 4/4'lük yapabileceğimi bulamadım.
Örnek olarak şöyle açıklayayım:
Kod:
#if WinRT
public static void ForWinRT()
{
/// blabla
}
/// Buna Cond Comp gerek yok çünkü Win32'de olan
/// Her şey WinUI'da da var. Ama yine de:
#if Win32
public static void ForWin32()
{
/// blabla
}
Kod:
<--! Örneğin: -->
<PropertyGroup Condition="'$(TargetFramework)'=='net9.0-windows'">
<DefineConstants>$(DefineConstants);WIN32</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)'=='net9.0-windows10.0.19043.0'">
<DefineConstants>$(DefineConstants);WINRT</DefineConstants>
</PropertyGroup>
Bunları da algılayabilmesi için cond ekleyebiliyoruz sanırım.
@bitwise @TheAny yardımcı olabilir misiniz bu konuda bilginiz varsa?