无法加载TransformXml

问题描述 投票:0回答:1

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

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

错误 1 无法从程序集 C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio 11.0\Web\Microsoft.Web.Publishing.Tasks.dll 加载“TransformXml”任务。无法加载文件或程序集“file:///C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio 11.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 显式,但它没有改变任何内容。

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

msbuild visual-studio-2013
1个回答
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,然后在解决方案资源管理器中选择解决方案根节点,然后选择“文件”>“保存.sln”(Ctrl+S)

© www.soinside.com 2019 - 2024. All rights reserved.