我有一個.NET庫(Products.SDK
),我需要使它與.NET Framework 4.5和.NET Standard 1.4兼容。創建庫定位.Net Framework 4.5和.Net標準
(後來我還將創建一個NuGet包出這個庫)
我的問題是:
我如何把代碼寫在這個庫?考慮到這兩個框架使用不同的庫/依賴關係?
我在同一個解決方案下有兩個單獨的項目嗎?
Products.SDK.sln
- Products.SDK.NetFramework
- Products.SDK.NetStandard
我就只有一個項目,並使用
#if
預處理指令都定義不同庫內的類?namespace Products.SDK { #if NETSTANDARD1_3 public class ProductsApi { public string ApiUrl { get; set; } } #else public class ProductsApi { public string ApiUrl { get; set; } } #endif }
如果選項1是正確的,我如何確保這兩個項目得到使用相同的名稱/命名空間(Products.SDK
)
我認爲該選項#2是更好的編譯,但我不確定這是否正確。
PS:
我在.csproj
文件
<PropertyGroup>
<TargetFrameworks>netstandard1.4;net45</TargetFrameworks>
</PropertyGroup>
正是我需要的,謝謝。祝賀你的職業生涯! – Catalin