2010-02-11 73 views
1

我不知道是否有某種方法可以知道在.csproj文件中列出的dll的完整路徑。如何從.csproj文件知道DLL的完整路徑?

最有趣的對我來說是解決路徑,默認的dll像system.xml.dll的,System.Data.dll中和等

在.csproj的文件只有線與短名稱:

<Reference Include="System.Xml.Linq"> 
    <RequiredTargetFramework>3.5</RequiredTargetFramework> 
</Reference> 
<Reference Include="System.Data.DataSetExtensions"> 
    <RequiredTargetFramework>3.5</RequiredTargetFramework> 
</Reference> 
<Reference Include="System.Data" /> 
<Reference Include="System.Xml" /> 

我應該去$ PATH變量並嘗試解決給定的DLL的名字?或者是什麼 ?

回答

1

您將檢查的第一個地方是GAC。如果引用不是在GAC,則經常會出現的參考這樣下方的相對或絕對路徑:

<Reference Include="mydll"> 
    <HintPath>..\..\mydll.dll</HintPath> 
</Reference 
+0

謝謝! 一個問題: 我已經運行gacutil.exe -l,並且看到了只有dll名稱,沒有路徑,但只有短名稱...我需要完整路徑。 – Nelly 2010-02-11 14:52:29

+0

您是否想要使用代碼來查找dll的確切位置,或者您只是想要自己查找位置? – 2010-02-11 16:11:22

1

如果任何.NET像你這樣的例子庫,然後他們通常會在以下文件夾:C:\ Windows \ Microsoft.NET \ Framework \ < .net版本> \或whaterver在GAC中指定。否則會有一個HintPath,它將成爲當前文件夾的相對路徑。