我编写了一个c#控制台应用程序,我想为linux机器编译该应用程序。当我在控制台中使用以下命令时,我得到这个错误:
dotnet publish -r linux-x64 --self-contained true
C:\Program Files\dotnet\sdk\3.1.300\Microsoft.Common.CurrentVersion.targets(3983,5): error MSB4062: The "Microsoft.Build.Tasks.ResolveManifestFiles" task could not be loaded from the assembly Microsoft.Build.Tasks.Core, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. [X:\Coding\Visual Studio 2019\Projects\firstDiscordBot\firstDiscordBot\firstDiscordBot.csproj]我通读了很多类似的问题,但没有一个解决方案对我有效。我尝试删除解决方案的项目文件夹中的.vs文件夹,并进行了清理和构建,我尝试在NuGet包管理器控制台中输入Install-Package MSBuildTasks,然后重新构建我的项目。
(错误消息为纯文本,可能更容易阅读:)
C:\Program Files\dotnet\sdk\3.1.300\Microsoft.Common.CurrentVersion.targets(3983,5):错误MSB4062:未能从程序集Microsoft.Build.Tasks.Core、Version=15.1.0.0、Culture=neutral、PublicKeyToken=b03f5f7f11d50a3a加载"Microsoft.Build.Tasks.ResolveManifestFiles“任务。确认声明正确,程序集及其所有依赖项可用,并且任务包含实现Microsoft.Build.Framework.ITask的公共类。X:\Coding\Visual Studio 2019\Projects\firstDiscordBot\firstDiscordBot\firstDiscordBot.csproj
编辑我做了一些实验,现在错误消息显示如下:
C:\Program Files\dotnet\sdk\3.1.300\Microsoft.Common.CurrentVersion.targets(3975,5):错误MSB4062:未能从程序集Microsoft.Build.Tasks.Core、Version=15.1.0.0、Culture=neutral、PublicKeyToken=b03f5f7f11d50a3a加载"Microsoft.Build.Tasks.SignFile“任务。确认声明正确,程序集及其所有依赖项可用,并且任务包含实现Microsoft.Build.Framework.ITask的公共类。X:\Coding\Visual Studio 2019\Projects\firstDiscordBot\firstDiscordBot\firstDiscordBot.csproj
我猜错误基本上是一样的,这可能不会有太大影响。
我还做了更多的研究,尝试了更多的东西,比如在Solution-Explorer中右键单击我的项目时使用“发布”功能,并重新安装SDK。我也验证了我所有的文件几次,但以上都没有帮助。
我只想提一下,每个小建议都会非常感谢,因为这是第一次,即使经过几个小时的研究和投入,我似乎也无法解决这个问题。所以如果你觉得我能做点什么,我会很高兴的。
发布于 2020-12-11 21:36:44
对于任何有相同问题的人,我都修复了它。我的问题很简单,因为我使用的是.NET-Framework项目,而不是.NET-Core。注意这一点。
https://stackoverflow.com/questions/62233408
复制相似问题