簡體   English   中英

從.net core 1.1升級到.net core 2.0

[英]Upgrading from .net core 1.1 to .net core 2.0

我正在將現有平台從.Net Core 1.1升級到.Net Core 2.0。 我升級了框架和與其關聯的Nuget軟件包。

我的控制器不再從Controller類繼承。

但是,我的項目不再構建,並引發cs0012並顯示消息:您必須添加對程序集“ netstandard,版本= 2.0.0.0,文化=中性,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" />

我遵循了在這里找到的建議: 解決方案1另一個

  • 引用Include =“ netstandard”作為ItemGroup
  • PackageReference Update =“ Microsoft.NETCore.App” Version =“ 2.0.0”
  • 刪除了RuntimeFrameworkVersion
  • 將我的vs社區更新為15.5.7

花了整整一天的時間來嘗試解決這個問題之后,誰能指出我的正確方向。 我還認為.net核心2實現了.net標准2.0.0。 如果我在這里完全錯了,請糾正我。

您需要刪除

<RuntimeFrameworkVersion>1.1.1</RuntimeFrameworkVersion>

從您的.csproj文件中。 runtimeconfig.json文件中的目標版本設置為使用.NET Core 1.1.1而不是.NET Core 2.0。

參考: https : //stackoverflow.com/a/46778275

其他要檢查的東西

  1. 確保已安裝.NET Core 2.0 SDK
  2. 確保您的解決方案中沒有覆蓋SDK版本的global.json文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM