加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-core – 如何在VS2017 final中定位多个框架?

发布时间:2020-12-16 00:05:35 所属栏目:asp.Net 来源:网络整理
导读:对于ASP.NET Core,我可以在一个Project.json中定位多个框架(例如netcoreapp1.1和dnx451): "frameworks": { "netcoreapp1.1": { "dependencies": { "Microsoft.NETCore.App": { "version": "1.1.0","type": "platform" } },"imports": [ "dotnet5.6","portab
对于ASP.NET Core,我可以在一个Project.json中定位多个框架(例如netcoreapp1.1和dnx451):
"frameworks": {
   "netcoreapp1.1": {
     "dependencies": {
       "Microsoft.NETCore.App": {
         "version": "1.1.0","type": "platform"
       }
     },"imports": [
       "dotnet5.6","portable-net45+win8"
     ]
   },"dnx451": {}
 },

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

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

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

解决方法

你需要改变一些事情.首先< TargetFrameworks>标签是多目标的正确标签;是分隔符.

在RC2的开发过程中不推荐使用DNX,因此支持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>

否则,您可能会收到包恢复错误

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读