如何从 .csproj 文件知道 DLL 的完整路径?
我想知道是否有某种方法可以知道 .csproj 文件中列出的 dll 的完整路径。
对我来说最有趣的是解析默认 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 名称?或者什么?
I wonder if there is some way to know full paths to the dll's that are listed in .csproj file.
The most interesting for me is to resolve paths to default dll's like System.Xml.dll, System.Data.dll and etc.
In the .csproj file there are only lines with short names:
<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" />
Should I look to the $PATH variable and try to resolve given dll's name ? Or what ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您要检查的第一个地方是 GAC。如果引用不在 GAC 中,则大多数情况下引用下方会有一个相对或绝对路径,如下所示:
The first place you would check is the GAC. If the reference is not in the GAC, then most often there will be a relative or absolute path below the Reference like this:
如果它是像您的示例一样的任何 .NET 库,那么它们通常位于以下文件夹中:C:\Windows\Microsoft.NET\Framework\< .net 版本 >\ 或 GAC 中指定的任何内容。否则会有一个 HintPath,它将是当前文件夹的相对路径。
If its any .NET library like you examples then they will generally be in the following folder: C:\Windows\Microsoft.NET\Framework\< .net version >\ or whaterver is specified in the GAC. Otherwise there will be a HintPath which will be a relative path to your current folder.