【发布时间】:2018-08-03 17:21:55
【问题描述】:
我正在将我们现有的平台从 .Net Core 1.1 升级到 .Net Core 2.0。 我升级了框架和与之关联的 Nuget 包。
我的控制器不再继承自 Controller 类。
但是,我的项目不再构建并抛出 cs0012 消息: 您必须添加对程序集 'netstandard, Version=2.0.0.0, Culture=neutral, publicKeyToken = cc7b13ffcd2ddd51" 的引用。
这是我的 cs.project
<PropertyGroup>
<AssemblyTitle>Demand1</AssemblyTitle>
<TargetFramework>netcoreapp2.0</TargetFramework>
<DebugType>portable</DebugType>
<PreserveCompilationContext>true</PreserveCompilationContext>
<AssemblyName>OnDemand</AssemblyName>
<OutputType>Exe</OutputType>
<PackageId>OnDemand</PackageId>
<RuntimeFrameworkVersion>1.1.1</RuntimeFrameworkVersion>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="2.0.1" />
<PackageReference Include="Microsoft.AspNetCore.Diagnostics" Version="2.0.1" />
<PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.0.1" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.0.2" />
<PackageReference Include="Microsoft.AspNetCore.Rewrite" Version="2.0.1" />
<PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration" Version="2.0.1" />
<PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="2.0.1" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.0.1" />
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.0.0" />
<PackageReference Include="Moq" Version="4.7.10" />
<PackageReference Include="OctoPack" Version="3.6.1" />
<PackageReference Include="Serilog.Extensions.Logging.File" Version="1.0.0" />
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="2.0.0" />
<PackageReference Include="StackifyMiddleware" Version="2.0.3" />
我遵循了这里的建议: Solution 1 和 Another One
- 将 Include="netstandard" 引用为 ItemGroup
- PackageReference 更新="Microsoft.NETCore.App" 版本="2.0.0"
- 删除了 RuntimeFrameworkVersion
- 将我的 vs 社区更新到 15.5.7
在花了一整天的时间尝试解决它之后,谁能指出我正确的方向。 我还认为 .net core 2 实现了 .net 标准 2.0.0。如果我在这里完全错了,请纠正我。
【问题讨论】:
-
Serilog.Extensions.Logging.File 1.0.0 .. Targetts .NET Standard 1.3,尝试定位 2.0.0-dev-00023
-
微软有一个官方指南,docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x,你似乎还没有阅读。
-
@LexLi 我忘了提到我已经阅读了迁移到 .net core 2 的官方文档。我什至尝试使用 Microsoft.AspNetCore.All 包而不是所有其他包。
-
@DOMZE 这是我唯一没有更新的。将尝试按照您的建议定位它并查看
-
您升级了 Visual Studio 吗?当你更新 VS 时,.Net Core SDK 会相应更新(会安装 .Net Core 2.0)
标签: c# visual-studio asp.net-core