Visual Studio 2022 -未能加载文件或程序集Microsoft.Build.Tasks.v4.0,系统找不到指定的文件

q3qa4bjr  于 2023-01-05  发布在  其他
关注(0)|答案(1)|浏览(720)

我度过了一个美好的圣诞假期,但却完全陷入了困境。当我尝试构建我的Visual Studio 2022解决方案时,我收到了以下消息:

Build (web): Could not load file or assembly 'Microsoft.Build.Tasks.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

我在VS 2019中也得到了这个。我的网站是ASP.NET webforms --我还有另外两个MVC网站,它们构建和运行都很完美。下面是我的web.config文件的相关部分:

<compilation debug="true" strict="true" explicit="true" batch="false" targetFramework="4.7.2">
      <assemblies>
        <add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Printing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
        <add assembly="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
      </assemblies>

我刚刚花了3个小时阅读博客像这样StackOverflow之一:
Could not load file or assembly 'Microsoft.Build.Framework'(VS 2017)
我试过重新启动Visual Studio,甚至关闭计算机,然后再打开。我注解掉了上面显示的web.config文件中的汇编行。我进入Nuget包管理器,添加了Microsoft.Build.Framework,看看这是否会有帮助(没有)。
项目引用如下所示:

我在许多其他场合遇到过这类问题,通常都能很快地解决-但这次不是。我对构建项目知之甚少-我只希望Visual Studio能为我做这一切!
有没有好心人帮忙?

zxlwwiss

zxlwwiss1#

因此,我至少已经得到了一个工作状态-这里有一个更新的任何人面临这个噩梦(谁,像我一样,不完全了解建设涉及)。
我仍然有构建错误,但是如果我右击一个.aspx文件在浏览器中查看它,现在它可以工作了(在它给出编译错误之前)。为了达到这个状态,我删除了我在Nuget中设置的任何对Microsoft.Build库的引用。我不知道这是否有帮助!
当然我不能调试(因为这需要构建),所以这最多是一个临时修复,但至少我可以在网站上做一些工作。
有人还提到了这个页面,它很好地总结了构建过程的不透明性:
How do references work in ASP.NET WebForms websites (not web applications)?

相关问题