Visual Studio 編譯時間,如何管理產生的DLL

來源:互聯網
上載者:User

在用Visual Studio 開發時,少不了會引用其他類庫的源碼。一般引用類庫有兩種方法。

1、直接引用項目。

2、引用項目產生路徑的dll。

現在如果有兩個項目 ProjectA和ProjectB。ProjectA引用ProjectB。

 

問題1:

在第二種方法中,那麼編譯ProjectA的時候就會把ProjectB的dll考到ProjectA的bin(預設)檔案夾中。

現在有個需求是,我想把ProjectB項目考過來的dll放到ProjectA項目Bin檔案夾下的某一個檔案夾dll,那麼我們只要在ProjectA項目屬性中=》建置事件=》後期建置事件命令列中添加命令: move /y $(TargetDir)\*.dll $(TargetDir)\dll

TaigetDir項目路徑是bin/debug下的。可以點編輯產生後期建置事件來產生。

這樣我們就可以把我們編譯過後的dll考到我們想要的檔案夾下了,不過這種編譯的缺點是 要重新編譯ProjectA這個項目才行。

 

問題2:

當我們開啟兩個項目時(ProjectA和ProjectB)都在Debug模式下,這時候,ProjectA已經引用了ProjectB,我們編譯ProjectA的時候,就會提示dll被其他進程引用(ProjectB項目開著呢)。

這裡網上有人也說了,通過欺騙而繞過Visual Studio的編譯。做法如下:

在ProjectB項目中dll的產生路徑下,建立一個檔案夾 名叫 $(Configuration) 

然後在ProjectB的後期建置事件命令列中添加命令:xcopy /y $(ProjectDir)bin\$(Configuration) "$(ProjectDir)bin\%2$%2(Configuration)\"

把從產生在Bin中的dll拷貝到$(Configuration)檔案夾下。

於是我們就可以把原來ProjectA引用ProjectB產生的dll改為引用產生在$(Configuration)檔案夾下的dll

這時候ProjectA中的引用路徑還是原來的。欺騙了我們的眼鏡。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.