【问题标题】:visual studio 2017 publish asp.net coreVisual Studio 2017 发布 asp.net 核心
【发布时间】:2017-08-28 13:44:04
【问题描述】:

我有 Visual Studio 2017 Enterprise 15.3.2 和在 dotnet core 1.1 中制作的相当老的项目。

如果我使用“dotnet publish ...”在控制台中发布我的项目,它会完美运行。

但是当我使用 Visual Studio 时,我可以毫无问题地恢复、构建和运行我的项目。只有当我尝试在项目中使用“发布..”上下文菜单进行发布时才会遇到问题。我只是将项目发布到文件夹中。

发布后,我突然出错,无法组装项目。 这是我遇到的一个错误:

System.InvalidCastException: [A]NuGet.ProjectModel.LockFile cannot be cast to [B]NuGet.ProjectModel.LockFile. Type A originates from 'NuGet.ProjectModel, Version=4.3.0.5, Culture=neutral, PublicKeyToken=31bf3856ad364e35' in the context 'LoadFrom' at location 'C:\Program Files\dotnet\sdk\2.0.0\Sdks\Microsoft.NET.Sdk\tools\net46\NuGet.ProjectModel.dll'. Type B originates from 'NuGet.ProjectModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' in the context 'LoadFrom' at location 'C:\Program Files\dotnet\sdk\1.0.4\Sdks\Microsoft.NET.Sdk\tools\net46\NuGet.ProjectModel.dll'.


  at Microsoft.NET.Build.Tasks.LockFileCache.GetLockFile(String path)
   at Microsoft.NET.Build.Tasks.GenerateRuntimeConfigurationFiles.ExecuteCore()
   at Microsoft.NET.Build.Tasks.TaskBase.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()

需要帮助。

【问题讨论】:

    标签: c# visual-studio-2017 asp.net-core-mvc-2.0


    【解决方案1】:

    另一种方式是:

    只需从您的 Core 2.0 项目中删除/重命名 global.json 文件即可:)。

    【讨论】:

    • global.json 已弃用,它是旧 dotnet 核心工具的一部分,它已死,应与 .xproj 文件一起删除
    【解决方案2】:

    我找到了解决方案。 在 global.json 中更改 sdk 版本为:

    "sdk": { "version": "2.0.0" },
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-01
      • 2018-07-02
      • 1970-01-01
      • 1970-01-01
      • 2017-08-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多