2

我在計算機上安裝了devexpress line for win forms。在VS2010中,我添加了一些devexpress .dll的引用,並將這些引用標記爲「Copy Local」並構建項目。比我發送一個項目文件夾給其他機器還沒有安裝devexpress的用戶。當他打開解決方案時,所有devexpress引用都顯示爲中斷,並且程序集不會編譯。Visual Studio 2010程序集參考

輸出結果如下:

 
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1578,5): 
warning MSB3245: Could not resolve this reference. Could not locate the assembly 
"DevExpress.Data.v13.1, Version=13.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a". 
Check to make sure the assembly exists on disk. 
If this reference is required by your code, you may get compilation errors. 

如何引用未安裝這樣的.dll文件(S)正確添加到總成,使我可以打開它的機器上?

+0

在開放的大門中嘗試着沒有任何幫助:該程序員還需要從DevExpress購買許可證。將項目中的引用替換爲您提供的副本應該讓他到某個地方。然而,設計時支持不太可能發揮作用。 –

+1

假設它不是DevX而是另一個.dll。如果它沒有安裝在GUC中,那麼所有這些都必須以某種方式將此dll添加到具有相對路徑的項目中,但是它不是嗎?否則,在不同的機器上,不同的用戶必須以不同的方式爲每臺機器確定本地路徑。 – user3101007

+0

這個傢伙會沒有問題*執行你發給他的程序。建造它是一個不同的魚水壺。 –

回答

0

爲了做到這一點,您需要通過添加參考文獻... /瀏覽。在爲您的項目的csproj文件,你應該有這樣的:

<Reference Include="Name.Of.Assembly"> 
    <HintPath>Relative\Path\ToAssemblyFile.dll</HintPath> 
</Reference> 

VisualStudio的嘗試是聰明的,並增加了參考的安裝組件,即使你選擇瀏覽...添加它們。 您可以:

  1. 沒有安裝DevExpress的包,只有DLL文件複製到您的開發機器
  2. 手動編輯.csproj的文件

無論哪種方式,你需要保持這些DLL某處。我通常把它們置於源代碼控制之下。

0

「複製本地」選項在構建過程之後將文件複製到發佈的目錄。

您可以將這些dll包含在單獨的解決方案文件夾中,將VisualStudio引用給它們,並將解決方案提交到svn或tfs。

0

要實現這一點,您應該將DevExpress(或其他第三方)程序集添加到解決方案根目錄下的文件夾,然後引用此文件夾中的程序集,而不是引用DevExpress安裝目錄。

您還應該將第三方程序集添加到源代碼管理中,以便它們可供所有開發人員使用。

如果其他開發者尚未安裝DevExpress許可證,它仍會生成,但在運行時將顯示一個嘮叨的屏幕。