从所有项目中删除NuGet包

时间:2014-04-24 17:12:32

标签: visual-studio-2012 nuget

每次我创建一个新项目时,NuGet都会添加大量我不想要或不需要的软件包。我已经尝试卸载并重新安装VS 2012,但不知怎的,这些软件包不断回来。

如何完全删除它们?如果我卸载NuGet,我收到错误“NuGet.VisualStudio.Interop,Version = *,Culture = neutral ...

然后我安装NuGet,所有旧包都回来了。我不知道这是存储在哪里(注册表?)但如果我卸载并重新安装Visual Studio,这些不应该回来。

编辑:我想我可能已经弄明白了,但需要确认。当我创建一个新的空WebApplication时,不会自动添加包。如果我创建一个新的空的“Telerik MVC 4 Web应用程序”,那么我会得到下图所示的错误。我已将NuGet包管理器设置为允许NuGet下载缺少的包,并在Visual Studio中构建期间自动检查缺少的包,但我仍然收到错误。

Package Error

编辑/解决方案:事实证明,Telerik存在问题。我从支持中得到了这个:

  

您似乎安装了ASP.NET和Web Tools 2013.1。   目前,我们的项目模板不支持此更新。直到   我们建议您为ASP.NET和Web Tools 2013.1提供支持   将现有的ASP.NET MVC应用程序转换为Telerik UI   ASP.NET MVC应用程序

这似乎有效。

1 个答案:

答案 0 :(得分:0)

项目模板中列出了NuGet包的默认列表。

您可以在此处找到模板:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ProjectTemplates\CSharp\Web\1033

例如,如果选择MVC 4 Empty Web Application,则默认包位于 EmptyMvcWebApplicationProjectTemplate.11.cshtml.vstemplate 文件中:

    <packages repository="registry" keyName="AspNetMvc4VS11" isPreunzipped="true">
        <package id="Newtonsoft.Json" version="4.5.11" skipAssemblyReferences="true" />
        <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" skipAssemblyReferences="true" />
        <package id="Microsoft.AspNet.Razor" version="2.0.20715.0" skipAssemblyReferences="true" />
        <package id="Microsoft.AspNet.WebPages" version="2.0.20710.0" skipAssemblyReferences="true" />
        <package id="Microsoft.AspNet.Mvc" version="4.0.20710.0" skipAssemblyReferences="true" />
        <package id="Microsoft.AspNet.Mvc.FixedDisplayModes" version="1.0.0" skipAssemblyReferences="true" />
        <package id="Microsoft.AspNet.WebApi.Client" version="4.0.20710.0" skipAssemblyReferences="true" />
        <package id="Microsoft.Net.Http" version="2.0.20710.0" skipAssemblyReferences="true" />
        <package id="Microsoft.AspNet.WebApi.Core" version="4.0.20710.0" skipAssemblyReferences="true" />
        <package id="Microsoft.AspNet.WebApi.WebHost" version="4.0.20710.0" skipAssemblyReferences="true" />
        <package id="Microsoft.AspNet.WebApi" version="4.0.20710.0" skipAssemblyReferences="true" />

    </packages>

BTW:实际上需要这些软件包,因为MVC4 +现在完全通过NuGet安装。

无论如何,您可以浏览其他模板并编辑 .vstemplate 文件以添加或删除默认包。

有关详细信息,请查看此处:

https://docs.nuget.org/docs/reference/packages-in-visual-studio-templates http://www.xavierdecoster.com/update-project-template-to-latest-nuget-packages

希望这有帮助。