ASP.NET Core脚手架在VS 2017中不起作用

Ser*_*rge 6 visual-studio asp.net-mvc-scaffolding visual-studio-2017 asp.net-core-1.1

我在Visual Studio 2017中有一个初学者的ASP.NET Core项目,目前在HelloWorld的脚手架步骤中。脚手架不起作用,我在第一台计算机上进行了测试,然后在第二台计算机上进行了测试...

当我尝试生成带有视图的控制器时 在此处输入图片说明 ,它在第一台计算机上给出以下错误:

Microsoft Visual Studio


错误

运行所选代码生成器时发生错误:

'未处理的异常:System.IO.FileNotFoundException:无法加载文件或程序集'Microsoft.VisualStudio.Web.CodeGeneration.Utils,版本= 1..1.1.0,Culture =中性,PublicKeyToken = adb9793829ddae60'。该系统找不到指定的文件。在Microsoft.VisualStudio.Web.CodeGeneration.Design.Program.Main(String [] args)'


在第二台机器上:

Microsoft Visual Studio


错误

运行所选代码生成器时发生错误:

'错误:未找到依赖项清单中指定的程序集-程序包:'microsoft.applicationinsights.aspnetcore',版本:'2.1.0',路径:'lib / netstandard1.6 / Microsoft.ApplicationInsights.AspNetCore.dll''


小智 10

以下对我有用。

我删除了binobj文件夹,再次构建了项目,并且可以正常工作。

如果它给您错误:它project.deps.jsondebug文件夹中找不到。

将项目设置为debug,然后运行它,现在您可以添加脚手架了。


Ang*_*own 5

使用控制台中的命令清除本地NuGet缓存:

dotnet nuget locals all --clear

恢复所有软件包

安装(或更新)NuGet软件包Microsoft.CodeAnalysis.CSharp.Workspaces版本2.0.0(或更高版本)编辑:它接缝版本2.3.0和2.3.1引起一些问题。因此,请坚持使用2.2.0,直到MS解决此问题(https://github.com/dotnet/roslyn/issues/20873)。

再次还原所有软件包,然后尝试脚手架。

那对我有用。

确保在项目中正确引用了以下软件包:

<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="1.1.1" />

<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.1" />

我的项目使用Asp.Net Core 1.1.2VS2017 Community

  • VS 2019 Preview 3显然安装了“ Microsoft.VisualStudio.Web.CodeGeneration.Design”的预览位。将该软件包降级为“ 2.2.3”对我来说解决了这个问题。 (4认同)

And*_*kov 5

我有同样的情况。在.net核心版本2.2和VS 2017 Enterprise上。

下一条指令对我有帮助:

  • 使用管理员权限打开VS。
  • 加载VS解决方案
  • 从脚手架菜单中添加控制器。VS将安装“ Microsoft.VisualStudio.Web.CodeGeneration.Design”和“ Microsoft.VisualStudio.Web.CodeGeneration.Tools”软件包。
  • 接近VS
  • 打开VS并加载项目。通过脚手架添加控制器工作正常

也许这条指令对某人有帮助,谢谢。


Hoc*_*eyJ 5

为了搜索者的利益:

我在 VS2019 中得到了这个。原因是我的代码被破坏了。

没有意识到为什么要开始,但是当你意识到代码生成是一个 nuget 包时;如果项目未构建,则 Visual Studio 无法访问该包。

一旦我编译了代码,这个错误就消失了。