场合
我使用项目引用大约有400个csproj文件。其中大约3个单独的团队想要分叉并合并到一个独立的应用程序中。
我对3个感兴趣的项目进行了分支,并且因为单独的团队使用了差异SVN repo,所以我使用svn externals将这些项目引入独立应用程序的文件夹中。显然,由于该团队使用不同的文件夹结构,项目引用不再解析。
尝试解决方案
我认为将msbuild属性ReferencePath
和AdditionalLibPaths
设置为指向一个目录,其中所有预编译的依赖项将允许项目引用回退点并正确解析。然而,情况似乎并非如此。
问题
由于
答案 0 :(得分:3)
项目引用由目标 - ResolveProjectReferences解析。它基本上在引用的项目上调用GetTargetPath,并将其用作已解析的项目程序集路径。 IIUC,您的项目文件路径在新设置中不正确,因此GetTargetPath将失败。
您可以通过多种方式解决此问题,例如将目标[1]映射到已解析的程序集路径,并将其添加到FooItem [2]。或者您可以将“所有预编译的deps”目录中的所有文件添加到@(ReferencePath)。在分辨率之后,
并将此目标添加到ResolveReferencesDependsOn属性
GetTargetPath调用应该将返回的路径添加到某个项目名称,用该项目名称替换FooItem。
答案 1 :(得分:-2)
项目文件(csproj)是XML文件,如果需要进行任何操作,可以编写自己的工具: