从VS2010升级到VS2013现在我无法发布

Ero*_*ocM 3 msdeploy visual-studio visual-studio-2013

我可以在Visual Studio 2010中发布没有问题但是当我尝试使用Visual Studio 2013发布时,我收到此消息:

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

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

Mar*_*ten 24

物有所值;

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

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

注意v10.0.当没有设置MSBuild参数"VisualStudioVersion"时,这是默认的回退.在VS2012之前,目标文件的路径是硬编码的.针对此错误的其他解决方案说要从csproj中删除以下内容,这是为了向后兼容而添加的:

  <PropertyGroup>
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
  </PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

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

项目中不存在目标"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>
Run Code Online (Sandbox Code Playgroud)

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