使用VS2017在asp.net核心1.1中添加scaffolded控制器时出错

时间:2017-07-24 11:31:11

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

我在一个全新的ASP.net核心网络应用程序(版本1.1)上使用VS2017,当我尝试使用实体框架添加' api控制器时采取行动'我收到以下错误消息:

  

运行所选代码生成器时出错:' Version for   package' Microsoft.VisualStudio.Web.CodeGeneration.Tools'不可能   。解决'

我已经google了一下,发现了一些建议,其中一个是在.csproj文件中添加一个CLI工具引用,所以我添加了以下内容:

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

此版本根据NuGet包管理器与已安装的版本匹配。但问题仍然存在。有关如何解决此问题的任何建议吗?

1 个答案:

答案 0 :(得分:1)

经过几个小时的轰炸,我偶然发现了这篇文章:System could not be found Visual Studio 2017 ASP.NET Core project

我按照建议启用了自动检查丢失的包,它终于有效了!

  

我遇到了同样的问题,首先将VS2015网络核心mvc网络项目转换为2017年,然后在2017年尝试创建新的核心网络应用程序时。

     

去工具| NuGet包管理器|包管理器设置 - 选中'允许NuGet下载丢失的包'和'在VS中构建期间自动检查丢失的包',然后单击'清除所有NuGet缓存'。   然后重新构建解决方案 - 找到并加载所有必需的包并运行OK。

     

可能不适用于所有情况,但简单且值得一试。