【问题标题】:upgraded from VS2010 to VS2013 now I cannot publish从 VS2010 升级到 VS2013 现在我无法发布
【发布时间】:2013-11-15 14:39:03
【问题描述】:

我可以在 Visual Studio 2010 中毫无问题地发布,但是当我尝试使用 Visual Studio 2013 发布时,我收到以下消息:

项目中不存在目标“MSDeployPublish”。 \Source2\Web Projects\SubService\subservice\subservice.csproj 0 0 子服务

谁能告诉我我需要做些什么来解决这个问题?这发生在 2 个不同的项目中。

【问题讨论】:

    标签: visual-studio visual-studio-2013 msdeploy


    【解决方案1】:

    为了它的价值;

    我遇到了同样的问题。新装 Windows 8.1 的机器,只装了 Visual Studio 2013 (+update1) + Azure SDK 的 .创建新的 Web Api 项目 boom 构建错误 -

    导入的项目“C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" 没找到。确认声明中的路径是 正确,并且该文件存在于磁盘上。

    注意 v10.0。这是未设置 MSBuild 参数“VisualStudioVersion”时的默认回退。 Prior to VS2012 the paths to the target files 是硬编码的。这个错误的其他解决方案是to remove the following from your csproj,这是为了向后兼容而添加的:

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

    但删除它会修复您的构建,但会破坏原始海报错误的发布功能:

    项目中不存在目标“MSDeployPublish”

    注意:我已从 Web 平台安装程序安装了所有与 Azure 相关的 SDK 部件。

    我已将上述 XML 部分重新添加到我的 csproj 文件中,但将 10.0 部分更改为 12.0 (=vs2013)

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

    这可能会破坏向后兼容性,但最终让我的 Visual Studio 2013 编译代码并让发布功能再次工作。

    【讨论】:

    • 我希望我能给你超过+1。
    • 是的!我在升级到 VS2013 时遇到了完全相同的问题,并且进行这些更改解决了这个问题。谢谢
    【解决方案2】:

    如果您不想在构建服务器上安装 Visual Studio,您可以使用此 NuGet 包和目标的便携版本:https://www.nuget.org/packages/MSBuild.Microsoft.VisualStudio.Web.targets 并修改您的 csproj 文件以包含它,如下所示:

    <Import Project="..\packages\MSBuild.Microsoft.VisualStudio.Web.targets.12.0.1\tools\VSToolsPath\WebApplications\Microsoft.WebApplication.targets" />
    

    解决方案最初发布在这里:Where is MsDeployPublish located? (在我的例子中,它已经是 MSBuild.Microsoft.VisualStudio.Web.targets.14.0.0)。

    【讨论】:

      【解决方案3】:

      4 小时后,我发现了一个与此没有直接关系的帖子,但我盲目地拍摄并成功了:

      从“Web 平台安装程序”安装我安装了“Windows Azure SDK for .Net (VS 2013)”并且工作正常!

      【讨论】:

        猜你喜欢
        • 2017-04-08
        • 2014-02-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多