Как узнать полные пути к DLL из файла.csproj?
Интересно, есть ли какой-нибудь способ узнать полные пути к DLL, которые перечислены в файле.csproj.
Самым интересным для меня является определение путей к 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 и пытаться разрешить имя данной библиотеки? Или что?
2 ответа
Первое место, которое вы бы проверили, это GAC. Если ссылка отсутствует в GAC, то чаще всего под ссылкой будет относительный или абсолютный путь, например:
<Reference Include="mydll">
<HintPath>..\..\mydll.dll</HintPath>
</Reference
Если это какая-либо библиотека.NET, как вы, например, вы, то они, как правило, будут находиться в следующей папке: C:\Windows\Microsoft.NET\Framework\<.net version>\ или в GAC указывается, что угодно. В противном случае будет HintPath, который будет относительным путем к вашей текущей папке.