[英]How do i get a Visual Studio solution to build and run an MVC project to another folder?
[英]How do I build a multiple project solution in Visual Studio without dependencies between the binaries?
我正在使用Visual Studio 2010 Pro構建包含兩個項目的解決方案。 項目A包含我的大部分源代碼,而項目B旨在獨立運行,但必須使用項目A中包含的一些源代碼。
在當前配置下,項目A包含在項目B中作為參考。我希望能夠獨立地構建和維護每個項目的版本,但是當我構建整個解決方案時,ProjectB.exe似乎無法運行ProjectA.exe位於同一本地目錄中。 我會想並希望編譯.exe二進制文件時,所有依賴項都打包在每個中,但看起來並非如此。 實際上,任何在ProjectA.exe不存在時運行ProjectB.exe的嘗試都會導致System.IO.FileNotFoundException。
有沒有辦法構建一個獨立運行的ProjectB.exe版本,避免代碼重復?
如果你想擺脫或依賴A,你將不得不將共同邏輯提取到另一個項目中(我們稱之為C),正如Adriano在評論中所建議的那樣。
如果項目之間甚至需要更松散的綁定,則可以不將A(或C)作為項目引用,而是作為構建的程序集(.dll文件)引用,並將Specific Version
引用屬性檢查為True
。 此外,如果您的項目/代碼庫結構更復雜,請在此處檢查更多程序集共享選項。
如果您需要通用代碼,最好的解決方案是將公共類分解為第三個程序集以充當庫。 (根據Adriano的建議。)他提示的另一個選項是在第二個項目中使用“添加現有文件”時使用“as link”選項。
如果您不知道它在哪里,請使用“添加現有文件”選項,然后在對話框中選擇文件,“添加”按鈕有一個下拉選項,您可以在其中選擇“作為鏈接文件”(或者那種效果。)
這允許您將相同的類編譯到多個項目中。 但請記住,無法為第二個項目更改鏈接文件的命名空間。 如果命名空間是“ProjectA.Domain”,那么您需要在項目B中訪問它。在引入多平台程序集之前,這對於Silverlight項目來說是一個有用的技巧。
一些選擇:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.