NuGet包恢复网站

时间:2013-07-25 17:26:21

标签: visual-studio-2010 visual-studio nuget visual-sourcesafe

我正在尝试将NuGet Package Restore与 VS2010 + Visual Sourcesafe 一起使用。它部分适用于我。 这来自:NuGet not getting missing packages

enter image description here

My Solution2有asp.net网站[上图中的Project1],安装了另一个nuget包。现在,另一位开发人员通过VS2010打开Solution2,自动恢复适用于Solution1中的库项目。它获取了此Solution2中引用的库项目的所有缺失包,我在Solution1 / packages文件夹中看到它们。

但是对于网站而言,它说外部dll,即pacakages缺失。我认为这个问题是因为网站没有.csproj文件,因此不知道需要恢复的东西。(http://nuget.codeplex.com/workitem/1663

让它部分运作:

  • 将package / repositories.config添加到网站解决方案(What is a solution folder in visual studio

  • 另一位开发人员转到VSS并手动获取该packages文件夹。现在,当他构建解决方案时,程序包管理器控制台会提示进行还原,即具有“还原”按钮。单击它将带来AjaxControlToolkit。

问题: - 上述方法是否仅适用于网站?

  • 当开发人员点击“恢复”按钮时,它会将Library的包以及解决方案1 ​​/包以及nuget的包。有什么理由会这样做吗?

关于上述问题的任何想法?

2 个答案:

答案 0 :(得分:3)

根据您的链接,nuget不支持网站。如果你真的需要使用Nuget,让我们面对它,每个人都这样做,那么在我看来最好的方法是将你的网站切换到一个web应用程序,此时visual studio将为你创建一个csproj文件,详细说明项目中包含的nuget包。 HTH

答案 1 :(得分:1)

要将带有repositories.config的解决方案级别“packages”文件夹添加到VS Solution Explorer,我创建了一个Solution文件夹并添加了repositories.config。

当我签入解决方案时,在SourceSafe中创建了packages文件夹。

我还发现有人指向同一个thing here

更新:我认为较新的nuget正在恢复软件包。但另一个技巧是nuget将dll添加到bin文件夹中,以检查AjaxControlToolkit及其依赖包的.refresh文件。