源代码管理中的项目引用路径?

时间:2010-08-12 14:26:05

标签: c# visual-studio-2008 version-control reference project

在我们的应用程序开发过程中,我们使用分支结构,而我们正在开发另一个团队正在使用我们软件的早期版本来创建内容。

为了便于在构建和团队之间交换,我希望在内容项目的csproj文件中使用空的Hintpath,以便他们可以使用我们的GAC安装程序集来构建,同时为我们的项目添加一个引用路径在开发和测试周期中使用,我们不希望在GAC中安装任何程序集。

但是,似乎引用路径未存储在csproj文件中,因此不会获得源代码控制。由于将有广泛的分支,当开发人员从sourcecontrol中拉出另一个分支时,必须再次设置所有引用路径。

我现在一直在寻找,似乎无法想办法做到这一点。有人知道强制引用路径进出sourcecontrol的方法吗?

我们在这里谈论Visual Studio 2008和TFS 2008。

干杯, 安东。

3 个答案:

答案 0 :(得分:12)

好吧,经过一夜好眠后,我似乎更清楚一点,采取了合乎逻辑的步骤,即调查信息存储的确切位置和方式。事实证明,该信息存储在项目文件夹中项目的.user文件中,因为它确保该文件包含mbsuild xml。

然后我按照以下方式做了我想要的事情:

  • 创建参考路径,因为我需要它以方便两种情况而无需任何工作。
  • 浏览到Project的.user文件
  • 复制包含ReferencePath的PropertyGroup
  • 将PropertyGroup粘贴到所有必需的项目'.csproj xml。
  • 重新加载和构建。

完成。

答案 1 :(得分:0)

引用 存储在* .csproj文件中。节点是ItemGroup / Reference ...

托马斯

答案 2 :(得分:0)

这很简单 - 我们在商店里这样做。

首先,在Workspace中(使用Windows资源管理器,浏览到Solution文件夹),创建一个文件夹。我们将其命名为“Referenced Assemblies”。在这里,删除所有的DLL。

现在,在解决方案中,添加一个新文件夹以匹配在Windows资源管理器中创建的文件夹。在该文件夹中,添加刚刚删除的所有DLL。

最后,在每个项目中,设置引用以使用添加到解决方案中的DLL。

现在你的项目引用了作为解决方案一部分的DLL,这样当构建运行时,它将从Source Control中获取DLL以生成构建。

此外,如果您可以避免,我建议您不要使用GAC。根据我的经验,参考行为很奇怪。看来引用首先是GAC,然后是本地文件夹中的DLL,这意味着如果更新DLL,则使用GAC中的DLL而不是本地文件夹中的DLL(可能是更新的DLL)。