添加对位于解决方案目录中的程序集的引用时,是否有任何方法可以相对添加它,以便在签入和签出存储库时在项目中正确引用它?
6 回答
扩展 Pavel Minaev 的原始评论 - Visual Studio 的 GUI 支持相对引用,假设您的 .sln 是相对引用的根。因此,如果您有解决方案C:\myProj\myProj.sln
,您在子文件夹中添加的任何引用都会C:\myProj\
自动添加为相对引用。
要在单独的目录中添加相对引用,例如C:/myReferences/myDLL.dll
,请执行以下操作:
- 通过右键单击解决方案资源管理器中的项目并选择添加引用...在 Visual Studio GUI 中添加引用
- 找到此引用所在的 *.csproj 并在文本编辑器中打开它
编辑 <HintPath> 等于
<HintPath>..\..\myReferences\myDLL.dll</HintPath>
这现在引用C:\myReferences\myDLL.dll
.
希望这可以帮助。
是的,只需在您的解决方案中创建一个目录,如 lib/,然后将您的 dll 添加到文件系统中的该目录并添加到项目中(添加->现有项->等)。然后根据您的项目添加参考。
我在 svn 和 cvs 下做过几次。
在 VS 2017 中它是自动的。所以就像往常Add Reference
一样。
请注意,显示的是Reference Properties
绝对路径,但.vbproj/.csproj
使用的是相对路径。
<Reference Include="NETnetworkmanager">
<HintPath>..\..\libs\NETnetworkmanager.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
实现这一点的最简单方法可能是简单地添加对程序集的引用,然后(手动)在相应的 Visual Studio 项目文件(扩展名 .csproj)中修补引用的文本表示,使其变得相对。
我在 VS 2005 中做了很多次,没有任何问题。
如前所述,您可以手动编辑项目.csproj
文件以手动应用它。
我还注意到 Visual Studio 2013 尝试将相对路径应用于引用提示路径,可能是因为试图使项目文件更便携。