Visual studio 2010 有没有办法自动修复.csproj文件中的版本化引用?

Visual studio 2010 有没有办法自动修复.csproj文件中的版本化引用?,visual-studio-2010,msbuild,csproj,Visual Studio 2010,Msbuild,Csproj,是否有人知道是否有办法自动修复包含版本化引用的Visual Studio 2010.csproj文件(例如,通过删除版本)?上下文是,我正在尝试构建一些第三方代码的1000个历史提交,对于一些提交,.csproj文件包含引用的版本,而它们不应该包含这些版本,例如: [ERROR] Found versioned reference on line: <Reference Include="<...>, Version=1.2.34567.89012, Culture=neutr

是否有人知道是否有办法自动修复包含版本化引用的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.
[ERROR]在中的第行找到了版本化引用。不允许版本化引用。

我可以想象编写一个脚本来完成这项任务,但这似乎有点痛苦(特别是因为该脚本只对这项特定任务有用,以后就没有用了)——我理想的选择是在.csproj文件上运行一个
msbuild
命令来修复它们。有没有可能存在类似的情况(不太有希望)?:)显然,手动修复.csproj文件以进行1000次提交不是一个选项,因此看起来确实是这样或编写脚本。

如果您倾向于使用msbuild并安装了.net 4.0,则可以使用C#快速编写自己的内联任务。 我发了一封信


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

组装一个一次性控制台应用程序要比通过
System.Xml.Linq
或使用一些
Microsoft.Build.Evaluation
搜索现有任务更快,与

类似,编写列出所有.csproj文件的msbuild脚本并使用中的文件更新任务对版本号执行查找/替换并不难。您可以为此任务添加更多信息\示例。是否已锁定msbuild脚本。您需要为您应该执行的1000个构建中的每一个运行它吗?上下文是,我需要作为一系列命令的一部分运行修复程序,以签出和构建1000个提交中的每一个。我希望避免坐下来编写代码来完成它,因为这是一项一次性任务,但我想这就是方向。我并不特别喜欢MSBuild——Ilya的C#建议可能是我的选择,除非我能用
sed
或其他什么做些有帮助的事情——我只是说MSBuild,因为我觉得微软可能已经提供了一种“修复”损坏的项目文件的方法。显然不是!