Asp.net-Mvc
通過 Gitignore 遞歸包含 Nuget DLL
我正在將 GIT 與一個新的 ASP.NET MVC 項目一起使用。我的 gitignore 文件中有一行忽略 dll
*.dll我想按照以下內容添加一些內容,以在我的 NUGET 封包件夾中包含(即不要忽略)DLL
!/packages/*.dll我遇到的問題是,並非所有 nuget 包都是平等創建的,並且根據所討論的包,DLL 可能嵌套在路徑層次結構中的任意數量的級別。看來我只需要一個遞歸解決方案:
!/packages/**/*.dll !/packages/**/*我還沒有找到可以通過 mysysgit(或任何 Windows 發行版 git)工作的解決方案。
有誰知道使這項工作的方法???
保持最高水平
gitignore,保持最高水平*.dll。在包目錄中創建另一個
.gitignore文件並將其放入!*.dll。
另一個要考慮的選項是不在儲存庫中包含 NuGet dll,而是僅在第一次建構項目時下載它們。這就是我們對所有 NuGet 依賴項所做的事情。
更新
Nuget 現在可以處理此問題,而無需手動創建您自己的建構事件。請參閱此頁面上的詳細資訊:http: //docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
原答案:
我們將 NuGet.exe 應用程序放在解決方案下的工具文件夾中,然後將以下內容添加到我們的項目預建構事件中。
"$(SolutionDir)Tools\NuGet.exe" install "$(ProjectDir)packages.config" -o "$(SolutionDir)Packages"我們第一次建構應用程序時,它將下載所有依賴項,但在後續建構中,NuGet 足夠聰明,可以看到它們已經以正確的版本存在並跳過它們。