Как узнать полные пути к DLL из файла .csproj? - PullRequest
1 голос
/ 11 февраля 2010

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

1 голос
/ 11 февраля 2010

Если какая-либо библиотека .NET, такая как вы, является примером, то они обычно будут находиться в следующей папке: C: \ Windows \ Microsoft.NET \ Framework \ <.net version> \ или в GAC указана другая причина В противном случае будет HintPath, который будет относительным путем к вашей текущей папке.

1 голос
/ 11 февраля 2010

Первое место, которое вы бы проверили, это GAC. Если ссылка отсутствует в GAC, то чаще всего под ссылкой будет относительный или абсолютный путь, например:

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