2014-10-16 48 views
4

我注意到很多次,開發人員往往直接通過瀏覽到.\packages文件夾(另一個項目安裝)下的.dll文件,並補充說,項目的引用,而不是在該項目中安裝NuGet包引用組件。在這種情況下,即使它編譯,但NuGet包管理器不知道引用的組件可從包等更新的整套解決方案,寬不更新該項目的引用。如果您正在構建面向服務的體系結構,其中應用程序中的每個功能都是解決方案中的單獨項目,那麼您可能擁有數百個項目,管理這些參考將成爲一場噩夢。有什麼方法可以阻止開發人員直接引用程序集,如果它們屬於nuget包?例如,是否有任何MSBuild任務來驗證對程序包程序集的所有引用都要求將該程序包安裝到項目上?如何確保nuget程序集是按包而不是僅引用DLL文件添加的?

+0

你有一個持續集成系統?如果是這樣,一個乾淨的檢查和建立任務應該找到這樣的問題(最終)。 – 2014-10-21 00:42:20

回答

1

如果您的團隊使用了ReSharper,他們有一個插件來幫助這個:

http://blog.jetbrains.com/dotnet/2012/11/20/add-packages-not-references-a-nuget-plugin-for-resharper/

我猜問題是利用ReSharper的,沒有它人們默認VS造成的,因爲不會知道包括DLL但ReSharper的會發現它和引用它(而不是更新無插件包配置)

使用的NuGet在解決方案級別也得使用具有人,而不是項目的水平。這將迫使人們更新整個解決方案的所有的Nu​​Get包,而不是讓你對項目A V 1.1.1.0和v 1.1.2.0對B項目

+0

這有助於與原來它在ReSharper的8捆綁在一起,但是,它仍然不能阻止人們在一個錯誤引用的項目檢查。 – orad 2014-10-29 19:38:09

相關問題