Windows 7 SP1 x64,Visual Studio 2017
我在 Empty 模板的基础上创建了一个新的 ASP.NET Core MVC 项目:
稍后我尝试通过 NuGet Package Manager 安装Microsoft.VisualStudio.Web.CodeGeneration.Tools
和Microsoft.VisualStudio.Web.CodeGenerators.Mvc
软件包,但是在安装过程中它们会抛出异常并回滚:
我该如何解决?
UPD
如果尝试通过NuGet控制台执行相同的操作,那么我会看到更详细的异常信息:
UPD2
感谢Leo-MSFT。他的建议帮助我安装了Microsoft.VisualStudio.Web.CodeGenerators.Mvc
软件包但我仍然遇到了安装Microsoft.VisualStudio.Web.CodeGeneration.Tools
软件包的问题:
答案 0 :(得分:1)
为什么不能安装NuGet包?
这是因为Microsoft.Composition 1.0.27与netcoreapp1.0 / 1.1(.NETCoreApp,Version = v1.0)不兼容。软件包Microsoft.Composition 1.0.27支持:portable-net45 + win8 + wp8 + wpa81。您将在“输出”窗口中收到此消息。
要解决此问题,您可以使用Visual Studio 2015,如果您仍想使用Visual Studio 2017,则可以将PackageTargetFallback
添加到.csproj文件中,如下所示:
<PropertyGroup>
<TargetFramework>netcoreapp1.1</TargetFramework>
<PackageTargetFallback>$(PackageTargetFallback);portable-win+net45+wp8+win81+wpa8</PackageTargetFallback>
</PropertyGroup>
然后通过NuGet添加这两个包。
<强>更新强>
对于UPD2问题:
您可以通过 NuGet Package Manager UI 而不是NuGet包控制台安装包Microsoft.VisualStudio.Web.CodeGeneration.Tools
。因为nuget团队通过UI来支持工具安装的工作,并且默认情况下会在新项目中安装工具,或者您可以手动将以下行添加到csproj文件中以安装该工具:
<ItemGroup>
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0" />
</ItemGroup>
有关详细信息,请参阅issue 4190。