MSBUILD发布(FTP)失败

时间:2018-02-09 14:51:35

标签: powershell ftp msbuild

如果我使用Visual Studio(使用FileSystem)在我的网站上发布它可以正常工作。

现在我试图从Powershell做同样的事情。

.\MSBuild.exe $sln /p:PublishProfile=MyTestProfile /p:PublishProvider=FileSystem /p:CreatePackageOnPublish=False /p:DeployOnBuild=False /p:VisualStudioVersion=15.0 /v:diag

以上是基于我发布的输出窗口(Visual Studio)(使用诊断输出)。复制和粘贴东西以避免拼写错误。

我遇到的问题是它从未发布过!

我现在看到Powershell的以下消息:

构建失败。

  

“C:\ Users \ me \ source \ repos \ Test03 \ WebApplication2 \ WebApplication2.csproj”(默认目标)(1) - >     C:\ Users \ me \ source \ repos \ Test03 \ WebApplication2 \ WebApplication2.csproj(265,3):错误MSB4019:导入的项目“C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v15.0 \找不到WebApplications \ Microsoft.WebApplication.targets“。确认声明中的路径是否正确,以及该文件是否存在于磁盘上。

这个问题似乎在SO上有详细记载但是,我已经安装了VS,这不是构建服务器。这一切都在我的一台机器上完成......但是,如果我试图到达路径C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v15.0\WebApplications\Microsoft.WebApplication.targets它就不存在了。我有C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v15.0\但在此文件夹中只有一个名为FileTracker的文件夹。

这让我更加困惑,因为它可以在Visual Studio中运行,但不在Powershell中运行。

1 个答案:

答案 0 :(得分:1)

已解决

.\MSBuild.exe $sln /p:PublishProfile=MyTestProfile /p:PublishProvider=FileSystem /p:CreatePackageOnPublish=False /p:DeployOnBuild=True /p:AspnetMergePath="C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools" /p:VisualStudioVersion=15.0 #/v:diag

您可能没有正确的Visual Studio版本的路径。下载.NET Core SDK应提供此https://www.microsoft.com/net/download/windows

但是,您可能需要更新到构建路径的正确路径(msbuild.exe存在的位置)。

然后我必须添加/ p:AspnetMergePath =" C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v10.0A \ bin \ NETFX 4.6.1工具"出于原因,我不明白。我知道它没有找到这条道路,但我不明白为什么它无法找到VS的路径!