2012-03-13 129 views
7

我有一个项目,我使用参考路径来存储必要的dll。
我的问题是,当我在我的TFS服务器中检查这些服务器,并且在我的同事从TFS服务器获得最新版本后,他无法在项目文件的属性页上看到引用路径。Visual Studio 2010参考路径和TFS

我做错了什么?

+0

如果您的引用设置为“Specific Version = True”,请尝试将其更改为“False”,然后他们应该看到引用在下次解决方案加载时正确加载。开发人员通常安装第三方框架的版本稍有不同。 – Seph 2012-03-13 13:01:30

回答

0

引用路径保存在* .csproj.user文件中,该文件是包含项目设置的每个用户文件。为了让您的同事在从源代码控制获得最新版本后构建项目,他们需要手动将参考路径添加到项目本身。

8

组件reference paths不是项目文件的一部分。的Visual Studio将它们保存在用户特定的设置文件(* .csproj的。用户或* .vbproj。用户),其中shouldn't be added to source control

如果你想share assembly reference paths with the rest of the team可以<AssemblySearchPaths>元素手动添加到项目文件

<PropertyGroup> 
    <AssemblySearchPaths> 
     ..\..\MyReferences\; 
    </AssemblySearchPaths> 
</PropertyGroup> 
+0

太棒了!谢谢! – MirlvsMaximvs 2016-11-02 15:20:21

0

我发现了一个更好的工作对我来说solutin,加入<Target>名称为BeforeResolveReferences,即设置“AssemblySearchPaths”属性,将我的CommonLibs文件夹添加为第一个路径以查找程序集:

<Target Name="BeforeResolveReferences"> 
    <CreateProperty Value="..\CommonLibs\;$(AssemblySearchPaths)"> 
     <Output TaskParameter="Value" PropertyName="AssemblySearchPaths" /> 
    </CreateProperty> 
</Target> 

将包括代理程序集都位于与解决方案文件夹相同级别的名称为“CommonLibs”的文件夹中。

添加<AssemblySearchPaths>如前面提到的答案却可惜不是为我工作:

虽然新路径中引用的DLL文件可以被编译器发现,正常System.*大会无法找到了。

在Visual Studio 2010中,项目文件中的<AssemblySearchPaths>可能不再是有效的选项,因为编辑器会警告这个元素无效。