Вопрос

Интересно, есть ли какой-нибудь способ узнать полные пути к 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, который будет относительным путем к вашей текущей папке.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top