我的项目中有一个老式的Settings
类,但是我试图转换为netstandard2.0
,我想在向后兼容的同时放弃该选项,包括它在net45
版本上构建。
我已经弄清楚了如何在使用它的地方排除构造函数,但是我还必须使用.csproj
从构建中删除它。
我的.cs
:
public class Client
{
#if !NETSTANDARD2_0
public Client(Settings settings) { this.url = settings.Url }
#endif
}
我的.csproj
:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net45</TargetFrameworks>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Properties\Settings.Designer.cs" Condition="" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="9.0.1" />
</ItemGroup>
</Project>
答案 0 :(得分:1)
您可以通过模式排除它们:
<Compile Remove="**\*.Designer.cs" Condition="'$(TargetFramework)' == 'net45'" />