无法从程序集加载任务

Has*_*nov 7 c# asp.net-mvc visual-studio

我的一个项目工作中有错误.错误说:

严重级代码说明项目文件行抑制状态错误无法从程序集C:\ Projects\Project Name\Source \\ MSBuild\StyleCop\v4.7\StyleCop.dll加载"StyleCopTask"任务.无法加载文件或程序集"Microsoft.Build.Utilities.v3.5,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"或其依赖项之一.该系统找不到指定的文件.确认声明是否正确,程序集及其所有依赖项是否可用,以及该任务是否包含实现Microsoft.Build.Framework.ITask的公共类.DskDirectMarketing.Common

在这里我可以清楚地看到VS正在寻找StyleCop的相对路径存在问题.这是它的样子:

<Import Project="$(SolutionDir)\MSBuild\StyleCop\v4.7\StyleCop.targets" />
Run Code Online (Sandbox Code Playgroud)

我的SolutionDir声明如下所示:

<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
Run Code Online (Sandbox Code Playgroud)

经过一番挖掘,我注意到在提示我的错误中有2个斜杠:

C:\ Projects\Project Name\Source\MSBuild\StyleCop\v4.7\StyleCop.dll

我尝试的第一件事就是从中移除破折号

<Import Project="$(SolutionDir)MSBuild\StyleCop\v4.7\StyleCop.targets" />
Run Code Online (Sandbox Code Playgroud)

我没有用.在那之后我试图把绝对路径,但我再次有两个斜线.

我该如何解决这个问题?任何帮助,将不胜感激.

Has*_*nov 9

根据@ MaKCbIMKo的回答,我安装了.Net Framework 3.5,这解决了我的问题.


小智 5

如果您使用的是 Windows 10,请启用 .net framework 3.5,如果不允许,请打开命令提示符并运行:

Dism /online /enable-feature /featurename:NetFX3 /All /Source:D:\sources\sxs /LimitAccess
Run Code Online (Sandbox Code Playgroud)


小智 5

如果您也在 Windows 10 上使用 Visual Studio 2019,您可以尝试以下操作:

  1. 关闭您的 Visual Studio 实例。
  2. 打开Visual Studio 安装程序
  3. 在当前使用的 Visual Studio 版本上,单击“更多”并选择“修改”
  4. 选择单个组件选项卡。
  5. 搜索.NET Framework 3.5 开发工具,选择它并单击“修改”
  6. 等待修改完成。
  7. 在 Visual Studio 中打开项目,然后执行Clean,然后执行Build