在“我想与人分享样本”的背景下,我宁愿不告诉别人“你需要安装netcore 2.x SDK来使用这个样本”。只有桌面.net的人应该仍然可以打开解决方案并运行解决方案。
但是如果一个项目有这个
netcoreapp2.0
并且未安装||
,他们将收到以下错误
当前的.NET SDK不支持以.NET Core 2.0为目标。可以是.NET Core x或更低版本,也可以使用支持.NET Core 2.0的.NET SDK版本。
答案 0 :(得分:1)
有关此问题的一般要求,请参阅https://github.com/dotnet/cli/issues/7051。目前还没有防弹解决方案。
现在可以使用的是检查'$(UsingMicrosoftNETSdk)' == 'true'
。此属性已添加到2.0 SDK中。因此,如果它存在,那么这意味着您正在使用2.0 SDK。如果它不是,那么它必须是1.x。
当前 hack 的问题在于,当版本3出现时,它会中断。
答案 1 :(得分:0)
我目前黑客就是这样做
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup Condition=" $(BundledNETCoreAppPackageVersion.StartsWith('2.')) ">
<TargetFrameworks>net461;netcoreapp2.0</TargetFrameworks>
</PropertyGroup>
<PropertyGroup Condition=" ! $(BundledNETCoreAppPackageVersion.StartsWith('2.'))">
<TargetFramework>net461</TargetFramework>
</PropertyGroup>
这似乎有效,但我希望有更少的黑客/更多支持的替代