gpt4 book ai didi

asp.net-core - 如何在 VS2017 final 中针对多个框架?

转载 作者:行者123 更新时间:2023-12-04 00:58:05 26 4
gpt4 key购买 nike

对于 ASP.NET Core,我可以在一个 Project.json 中定位多个框架(例如 netcoreapp1.1dnx451 ):

"frameworks": {
"netcoreapp1.1": {
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.1.0",
"type": "platform"
}
},
"imports": [
"dotnet5.6",
"portable-net45+win8"
]
},
"dnx451": {}
},

在 Visual Studio 2017 的最终版本中,我只能针对 netcoreapp1.1dnx451 ,但我认为无法同时针对两者。

我尝试通过设置 <TargetFramework>netcoreapp1.1;dnx451</TargetFramework> 直接编辑 csproj 文件以添加第二个框架。甚至 <TargetFrameworks>netcoreapp1.1;dnx451</TargetFrameworks>但由于不受支持的框架而在 Visual Studio 中出现错误。

那么我如何定位两个 netcoreapp1.1dnx451在 Visual Studio 2017 最终版本的一个项目中?

最佳答案

您需要更改一些内容。先是<TargetFrameworks>标签是多目标的正确标签,;是分隔符。
DNX 在 RC2 的开发过程中被弃用,因此支持 DNX 的最后一个版本是 RC1。 dnxcore5x (后来 dotnet5.x )名字被替换为 netstandard1.x (对于类库)和 netcoreapp1.x用于应用程序。 dnx4xx被整体弃用,net4xx应该使用。
此外,当您以 .NET Framework 为目标(单独或与 .NET Core/NetStandard 一起)时,您将需要定义一个运行时标识符:

<RuntimeIdentifier>win7-x86</RuntimeIdentifier>

<RuntimeIdentifier>win7-x64</RuntimeIdentifier>
或者任何你想成为默认的。
更新
就像附加信息一样。当您定位多个平台时,您需要使用条件来解析包,即 Condition="'$(TargetFramework)' == '<targetmoniker>'
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp1.1'">
<PackageReference Include="Microsoft.NETCore.App">
<Version>1.0.1</Version>
</PackageReference>
</ItemGroup>
否则你可能会收到包恢复错误

关于asp.net-core - 如何在 VS2017 final 中针对多个框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42670048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com