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

项目中的目标“msdeploypublish”不存在。\ source2 \ web项目\ subservice \ subservice \ subservice.csproj 0 0 subervice

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

有帮助吗?

解决方案 3

4小时后,我发现一个与此直接相关的帖子,但我拍摄了一个盲目的镜头,它有效:

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

其他提示

它的价值;

我有同样的问题。 FRESLY安装的Windows 8.1机器,仅安装Visual Studio 2013(+ Update1)+ Azure SDK's。创建新的Web API项目 Boom 构建错误 -

导入项目“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>
.

但删除此修复您的构建,但使用原始海报错误打破发布功能:

目标“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编译代码并使发布功能再次工作。

如果您不想在Build Server上安装Visual Studio,可以使用此Nuget软件包与Portable版本的目标: 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" />
.

解决方案最初发布于此处: MsdeployPublish所在的位置? (在我的情况下,它已经是msbuild.microsoft.visualstudio.web.targets。 14.0.0 )。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top