¿Cómo saber las rutas completas a los DLL de .csproj?
-
20-09-2019 - |
Pregunta
Me pregunto si hay alguna manera de saber las rutas completas a las DLL que se enumeran en .csproj.
Los más interesantes para mí es resolver los caminos de incumplimiento por parte del DLL como System.Xml.dll, System.Data.dll y etc.
En el archivo .csproj sólo hay líneas con nombres cortos:
<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" />
¿Debo buscar a la variable $ PATH y tratar de resolver el nombre dado de DLL? O qué?
Solución
El primer lugar que comprobar es el GAC. Si la referencia no está en la GAC, entonces lo más a menudo habrá una ruta relativa o absoluta por debajo de la referencia como sigue:
<Reference Include="mydll">
<HintPath>..\..\mydll.dll</HintPath>
</Reference
Otros consejos
Si su biblioteca como cualquier .NET le ejemplos a continuación, por lo general, estará en la siguiente carpeta: C: \ Windows \ Microsoft.NET \ Framework \ <.NET versión> \ o whaterver se especifica en la GAC. De lo contrario habrá un HintPath que será una ruta relativa a la carpeta actual.