1

请问有谁知道是否有办法自动修复包含版本化引用的 Visual Studio 2010 .csproj 文件(例如,通过删除版本)?上下文是我正在尝试构建一些第三方代码的 1000 个历史提交,并且对于某些提交,.csproj 文件包含不应该引用的版本,例如:

[ERROR] Found versioned reference on line: <Reference Include="<...>, Version=1.2.34567.89012, Culture=neutral, PublicKeyToken=<...>, processorArchitecture=MSIL" /> in <...>. Versioned references are not allowed.

我可以想象编写一个脚本来执行此操作,但这似乎有点痛苦(特别是因为该脚本仅对这一特定任务有用,并且之后无用) - 我理想地寻找例如msbuild我可以运行的命令.csproj 文件来修复它们。有没有这样的机会存在(不太有希望)?:) 显然,为 1000 次提交手动修复 .csproj 文件不是一种选择,所以看起来就是这样或编写脚本。

4

2 回答 2

2

System.Xml.Linq与通过或使用 some搜索现有任务相比,将一次性控制台应用程序放在一起会更快Microsoft.Build.Evaluation,类似于 解决不正确的项目引用 GUID

于 2012-09-15T00:19:25.763 回答
1

如果您倾向于使用 msbuild 执行此操作并安装了 .net 4.0 - 您可以使用 C# 快速编写自己的内联任务。我发布了 msbuild 内联任务的示例及其用法

如果您不限于 msbuild - 我认为 powershell 脚本可以在几行中完成相同的工作。

于 2012-09-14T19:26:30.060 回答