从VS2010升级到VS2013现在我无法发布
-
20-12-2019 - |
题
我可以在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 )。