将项目引用路径存储在.csproj文件中而不是用户文件中?

6

我在我们的解决方案中修改了一堆项目文件,给它们都添加了引用路径。我没有意识到引用路径是存储在项目的 .user 文件中的。有没有办法把这些路径存储在 .csproj 文件中,这样它们就可以被检入源代码控制了?


“.user”文件包含调试设置,而不是引用。最好发布一个您所看到的示例。 - Hans Passant
@Han,在我的.csproj.user文件中,除了发布历史记录之外,我还有从IDE设置的<PropertyGroup><ReferencePath>...</ReferencePath><PropertyGroup>。当我将它移动到主要的.csproj文件中时,引用路径没有被识别。 - tofutim
2个回答

8
你可以手动编辑项目文件,在<PropertyGroup>标签内添加<ReferencePath>。在我的情况下,语法如下:
<ReferencePath>$(Codez)\z.Libraries\AutoCAD\2015;
$(Codez)\z.Libraries\AutoCAD\2015\inc-win32;
$(Codez)\z.Libraries\AutoCAD\2015\inc-x64</ReferencePath> 

其中$Codez是我自己设置的环境变量,它显然支持多个路径。这是在VS2013中。


这也很有用,如果您想为不同的构建配置使用不同的引用路径。 - Chaholl
2
这应该被标记为答案。在专业环境中,HintPaths几乎没有用处。 - Bent Tranberg

4
您可以尝试将引用添加为HintPath,如下所示:

<Reference Include="MyReference, Version=2.0.3.2, Culture=neutral, processorArchitecture=MSIL">     
  <HintPath>..\..\lib\Whatever\MyReference.dll</HintPath>
</Reference>

这就是我最终所做的,只需删除所有引用路径、删除引用,然后重新添加指向新位置的引用(这就是设置HintPath的方式)。谢谢 :) - Jonas
如果您知道要查找的引用,这将非常有用。具有引用路径可以让您从引用路径中提取依赖项,而这是您无法从.csproj文件中完全实现的(至少我不能)。 - tofutim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接