ASP.NET 4.5 MVC应用程序
在本地构建/运行
包文件夹未检入源代码管理
源代码控制如下所示:
MyProject
-.nuget
-.tfignore
-MyProject.Web
-MyProject.Utilities
-MyProject
-MyProject.sln
在.nuget文件夹中,只有一个文件:NuGet.config,里面有这个:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
</configuration>
我可以在本地删除packages文件夹,运行它,然后再次正确地下载所有内容。
当我从Visual Studio开始构建解决方案并将其部署到Azure Cloud Service时,构建失败说:
The type or namespace name 'WindowsAzure' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
答案 0 :(得分:0)
执行此操作的“新”方法是运行
nuget.exe恢复“MySolution.sln”
我将我的(版本化的)nuget.exe文件放在我的构建服务器上,如下所示:
c:\MyProgFiles\NuGet\2.8.6\nuget.exe
c:\MyProgFiles\NuGet\3.3.0\nuget.exe
然后在我建立之前,我打电话给
"c:\MyProgFiles\NuGet\2.8.6\nuget.exe" restore "c:\MyFullPath\MySolution.sln"
您还可以阅读“如何清理旧的nuget东西”
http://docs.nuget.org/consume/package-restore/migrating-to-automatic-package-restore
(尽可能使用CI宏创建文件名)
我还将这些行放在“nuget restore”之前,以帮助调试。
"c:\MyProgFiles\NuGet\2.8.6\nuget.exe" sources list
"c:\MyProgFiles\NuGet\2.8.6\nuget.exe" locals all -list
BTW:如果你有一个软件包源可能会删除软件包,那么将它添加到你的构建脚本中(在上面提到的“恢复”之前)
"c:\MyProgFiles\NuGet\2.8.6\nuget.exe" locals all -clear
这将清除您的本地缓存并强制重新下载。
同样,此处的值仅在您使用包被删除的源时才会显示。