netcoreapp2.0与netstandard2.0

时间:2017-02-24 19:24:46

标签: c# .net-core .net-standard

我有一个针对NetStandard.Library 2.0的项目(x)和一个针对netcoreapp2.0的控制台应用。

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>

  <PropertyGroup>
    <PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" />
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.0" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.1" />
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.0" />
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.0" />
    <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.1.0" />
    <PackageReference Include="NETStandard.Library" Version="2.0.0-beta-25021-01" />
    <PackageReference Update="Microsoft.NETCore.App" Version="2.0.0-beta-001588-00" />
  </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0-msbuild3-final" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\x.csproj" />
  </ItemGroup>

</Project>

项目X:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.Extensions.Logging" Version="1.1.0" />
  </ItemGroup>


  <ItemGroup>
    <PackageReference Update="NETStandard.Library" Version="2.0.0-beta-25017-01" />
  </ItemGroup>
</Project>

当我编译控制台应用程序时,我得到错误:

Project x与netcoreapp2.0(.NETCoreApp,Version = v2.0)/ win-x86不兼容。 Project x支持:netstandard2.0(.NETStandard,Version = v2.0)

我已安装:Microsoft net core 2.0.0运行时位于此处:https://github.com/dotnet/core-setup但它仍然没有构建。

*根据以下建议编辑: 我已在此处安装了Alpha SDK:https://github.com/dotnet/cli/tree/master#installers-and-binaries,我仍然遇到同样的错误。

enter image description here

有趣的是,有一个针对Microsoft.NETCore.App的nuget包引用,我无法删除: enter image description here

4 个答案:

答案 0 :(得分:6)

.NET Core 2.0将需要.NET Core 2.0 SDK。可在此处下载夜间链接:https://github.com/dotnet/cli/tree/master#installers-and-binaries

抬头:现在这个夜间建筑非常不稳定。截至2017年2月,.NET Core 2.0尚未公开发布。结帐https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/dogfooding.md了解有关使用nightlies的说明。

答案 1 :(得分:1)

.NET Core 2.0 SDK(最终版本)可用,包括vs 2017/2015的工具。

你可以download 并且它与vs 2017.3

集成

请注意,如果您安装了此版本:dotnet-sdk-2.0.0-win-gs-x64,则它未在visual studio 2017.3中显示,ref

有关功能详情,请阅读:Announcing .NET Core 2.0

此外,ASP.NET Core 2.0可用

答案 2 :(得分:0)

.NET Core 2.0不在Download页面上,预计将于2017年第二季度发布on the roadmap

您现在应该使用.NET Core 1.1并以.NET Standard 1.6为目标。

是的:如果你想开发,你必须下载SDK。

答案 3 :(得分:0)

如果同一解决方案中同时包含Core和DotNet 4.X,则可能需要考虑将netcoreapp2.0添加到“ <\ TargetFramework>”标签中。

<Project Sdk="Microsoft.NET.Sdk">
 <PropertyGroup>
 <TargetFramework>netstandard2.0;netcoreapp2.0</TargetFramework>
</PropertyGroup>