我有一个目前为.Net 4.0和.Net 4.5编译的项目。我还有一个使用.Net Core 2.0的不同项目。
它们之间共享代码,如果我可以创建.Net Standard 2.0类库,那将非常有用,但我们仍然需要支持.Net Framework 4.0。
有没有办法为.Net Framework 4.0和.Net Standard 2.0类库编译类库(假设类库没有使用任何两个都不支持的依赖项) ?
答案 0 :(得分:1)
简而言之:
<TargetFrameworks>net40;netstandard2.0</TargetFrameworks>
构建时,这将分别创建每个目标。如果您使用自动nupkg生成(<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
),则nupkg将包含所有目标。如果需要为每个事物配置不同的内容,可以在构建文件中测试TargetFramework
变量,该变量将按目标单独应用。这可用于添加不同的引用或其他配置选项,例如:
<PropertyGroup Condition="'$(TargetFramework)' == 'net20'">
<FeatureServiceModel>false</FeatureServiceModel>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)' == 'netstandard1.3'">
<DefineConstants>$(DefineConstants);COREFX</DefineConstants>
<ImportLibs>core</ImportLibs>
<FeatureServiceModel>false</FeatureServiceModel>
</PropertyGroup>