Jas*_*win 10 git asp.net-mvc gitignore nuget
我正在使用GIT与一个新的ASP.NET MVC项目.我的gitignore文件中有一行忽略dll
*.dll
Run Code Online (Sandbox Code Playgroud)
我想在下面的行中添加一些内容,以包含(即不要忽略)我的NUGET包文件夹中的DLL
!/packages/*.dll
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是并非所有nuget包都是平等创建的,并且根据所讨论的包,DLL可以嵌套在路径层次结构中的任意数量的级别.似乎我只需要一个递归解决方案:
!/packages/**/*.dll
!/packages/**/*
Run Code Online (Sandbox Code Playgroud)
我还没有找到一个可以通过mysysgit(或git的任何Windows发行版)工作的解决方案.
有没有人知道如何使这项工作?
另一个需要考虑的选择是不在您的存储库中包含您的NuGet dll,而是仅在您第一次构建项目时下载它们.这就是我们对所有NuGet依赖项所做的事情.
UPDATE
Nuget现在可以处理这个,而无需手动创建自己的构建事件.请参阅此页面上的详细信息:http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
原答案:
我们将NuGet.exe应用程序放在我们的解决方案下的tools文件夹中,然后将以下内容添加到我们的项目预构建事件中.
"$(SolutionDir)Tools\NuGet.exe" install "$(ProjectDir)packages.config" -o "$(SolutionDir)Packages"
Run Code Online (Sandbox Code Playgroud)
我们第一次构建应用程序时会下载所有依赖项,但是通过后续构建,NuGet足够智能,可以看到它们已经存在于正确的版本中并跳过它们.
| 归档时间: |
|
| 查看次数: |
2239 次 |
| 最近记录: |