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