无法加载TransformXml

时间:2014-03-14 14:49:52

标签: msbuild visual-studio-2013

我有一个旧的解决方案,在VS 2012中运行良好,现在我将其迁移到VS 2013.

当我尝试构建涉及web.config替换的配置时,我收到了这个错误:

  

错误1" TransformXml"无法从程序集C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ Web \ Microsoft.Web.Publishing.Tasks.dll加载任务。无法加载文件或程序集' file:/// C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ Web \ Microsoft.Web.Publishing.Tasks.dll'或其中一个依赖项。该系统找不到指定的文件。确认声明是否正确,程序集及其所有依赖项是否可用,以及该任务是否包含实现Microsoft.Build.Framework.ITask的公共类。

这意味着我的v11.0中没有构建工具是正确的。因为我使用Visual Studio 2013.(构建工具位于名为v12.0的文件夹中)一个选项是将我的构建工具复制到正确的位置,但我正在寻找真正的解决方案。

我在.csproj文件中找到了这些配置:

<PropertyGroup>
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>

但我真的不明白为什么然后v11.0可能会。我已经尝试过多种方法来改变它们,就像设置VisualStudioVersion一样,但它没有改变任何东西。

所以我的问题:这些路径来自哪里,我可以在哪里配置它?

1 个答案:

答案 0 :(得分:0)

因为vs2012 MS试图保持sln文件不受影响,如果没有理由升级它(允许在旧VS中打开sln)。 如果您从vs2012升级到vs2013,那么您可能有机会在vs2012中打开解决方案(在许多更新的解决方案中都会发生这种情况)。

尝试检查sln文件的开头

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013

或:

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012

如果您希望通过VS更改它,请在vs2013中打开sln,然后在解决方案资源管理器中选择解决方案根节点,然后选择文件&gt;保存.sln(Ctrl + S)