问题标签 [webdeploy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
741 浏览

msbuild - .NET 4.0 MSBuild.exe 无法识别 Web 部署参数

我在构建服务器上安装了 .NET 4.0,以及 Web Deploy 1.1

我打开了一个命令窗口来测试 Web 部署,但是每当我运行它时,构建都会成功,并且不会发生任何发布。

我在我的开发机器上尝试了完全相同的事情,并且部署触发了,所以我想知道,为什么 msbuild 没有在我的构建服务器上启动发布?

这是我正在运行的命令

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\msbuild.exe NerdDinner.sln /P:Configuration=Release /P:DeployOnBuild=True /P:DeployTarget=MSDeployPublish /P:MsDeployServiceUrl=http://someserver/ MsDeployAgentService /P:AllowUntrustedCertificate=True /P:MSDeployPublishMethod=RemoteAgent /P:CreatePackageOnPublish=True /P:UserName=user /P:Password=password

0 投票
10 回答
44290 浏览

iis - WebDeploy (401) 未经授权的错误

尝试使用不是目标服务器上的本地管理员的 Windows 用户远程部署应用程序时,我使用 NTLM 身份验证从 MsDeploy 收到未经授权的错误。我在目标框中的管理服务委派中设置了规则,并检查了所有提供者。根据此规则,我添加了 2 个具有允许权限的用户('*',以及我正在执行远程部署的 windows 用户)。此外,我已在我尝试部署的站点上授予 Windows 用户权限。如果我让 Windows 用户成为目标框上的本地管理员并设置“允许管理员绕过规则”,则部署工作正常。如果 windows 用户不是本地管理员,我会收到以下错误:

Web 部署任务失败。(无法联系远程代理 (URL http://xxxxxxxx/MSDEPLOYAGENTSERVICE )。请确保目标计算机上已安装并启动远程代理服务。)请确保站点名称、用户名和密码是正确的。如果问题仍未解决,请联系您的本地或服务器管理员。错误详细信息:无法联系远程代理 (URL http://xxxxx/MSDEPLOYAGENTSERVICE )。确保在目标计算机上安装并启动了远程代理服务。收到了不受支持的响应。响应标头“MSDeploy.Response”为“V1”,但应为“v1”。远程服务器返回错误:(401) Unauthorized。在 Microsoft.Web.Publishing.targets(3588, 5)

0 投票
1 回答
4889 浏览

tfs - WebDeploy 部署多个网站

我们正在使用此过程来使用 WebDeploy 来部署和编译作为解决方案一部分的两个网站。我们采取的方法在这里找到:

http://vishaljoshi.blogspot.com/2010/11/team-build-web-deployment-web-deploy-vs.html

但它只是部署其中一个网站;有没有办法告诉它同时发布?

谢谢。

0 投票
1 回答
2606 浏览

visual-studio-2010 - 发布网站 ASP.NET 4.0 时出现问题

我正在尝试使用 Visual Studio 2010 发布一个简单的站点。我使用 Web 部署。我收到以下错误:

错误 1 ​​Web 部署任务失败。(“dbFullSql”类型和路径“Data Source=.\SQLEXPRESS;AttachDbFilename=c:\documents and settings\tavi\my documents\visual studio 2010\Projects\WebApplication3\WebApplication3\App_Data\ aspnetdb.mdf;Integrated Security=True;User Instance=True' 无法创建。)

'dbFullSql' 类型的对象和路径'Data Source=.\SQLEXPRESS;AttachDbFilename=c:\documents and settings\tavi\my documents\visual studio 2010\Projects\WebApplication3\WebApplication3\App_Data\aspnetdb.mdf;Integrated Security=True无法创建“用户实例=真”。无法连接到数据库“c:\documents and settings\tavi\my documents\visual studio 2010\Projects\WebApplication3\WebApplication3\App_Data\aspnetdb.mdf”。尝试为文件 c:\documents and settings\tavi\my documents\visual studio 2010\Projects\WebApplication3\WebApplication3\App_Data\aspnetdb.mdf 附加自动命名数据库失败。存在同名数据库,或无法打开指定文件,或位于 UNC 共享上。0 0 Web应用程序3

我使用SQL Server Management Studio删除了该aspnetdb.mdf文件,但仍然出现此错误。有什么问题?

0 投票
2 回答
3027 浏览

deployment - MSDeploy runCommand 使用相对路径

我正在尝试通过 MSDeploy 运行命令作为我的打包/部署过程的一部分。特别是,我试图通过对我的一个 DLL 运行installutil来创建自定义事件日志,但是我无法从部署目录指定 DLL的相对路径。首先,我将以下配置添加到我的 csproj 中,以便在我的 Manifest 文件中生成 runCommand 提供程序。请注意 DLL 的绝对路径。

在调用 msbuild 之后,这会在我的 package.zip 中正确生成我的清单。当我运行MyTestApp.deploy.cmd /Y它正确调用 msdeploy 并将我的文件部署到 inetpub\wwwroot\MyTestApp 并从下面的清单运行我的命令:

我遇到的问题是我不想将此 DLL 路径硬编码到 c:\inetpub\etc。如何使用默认网站下我的部署目录中的相对路径进行上述调用?理想情况下,我希望MSDeploy采用此路径并将其作为变量传递给 runCommand 语句,以便找到 DLL。然后我可以写这样的东西:<path>installutil $DeploymentDir\NewTestApp\bin\BusinessLayer.dll</path>不必担心硬编码绝对路径。

有没有什么方法可以做到这一点,而无需每次都使用我的 DLL 的绝对路径?

0 投票
2 回答
443 浏览

asp.net - Web 部署转储 dirPath 不适用于委派和非管理员用户

我正在尝试运行以下 Web 部署命令:

我曾尝试与两个用户 John 和 Mary 一起运行它。约翰是盒子管理员组的成员,玛丽不是;该命令适用于 John,但适用于 Mary 的 401 失败。

我有以下设置:

  • Mary 通过 ACL 拥有对 C:\Deploy 的完全访问权限(管理员组也是如此)
  • John 和 Mary 都被授予使用委托功能访问 IIS 中的 C:\Deploy dirPath 的权限(见下文)

我的 Administration.config 条目:

当我将 Mary 添加到 Administrators 组时,该命令有效。但委托的全部意义在于能够以非管理员身份运行部署命令。我可以为 Mary 运行其他命令(例如 -verb:dump -source:appHostConfig="Default Web Site") - 它只是 dirPath 不起作用。

WMSvc.log 似乎不包含失败命令的任何错误——不过我可以看到成功的命令。我确实在失败的请求跟踪中看到了 HEAD 请求的 401,但没有任何迹象表明它为什么会发生......

任何指针表示赞赏。

0 投票
1 回答
27568 浏览

visual-studio-2010 - 如何将 MSBuild 配置为使用已保存的 publishProfile 进行 WebDeploy?

我使用 Visual Studio 创建了发布配置文件。它将该信息保存到位于我的项目目录根目录中的 MyProject.Publish.xml。

我希望在我的 CI 服务器上执行的 MSBuild 任务将该文件用作其基本设置。理想情况下,如果我可以通过命令行参数覆盖属性,那会很糟糕。

这可能吗?如果是这样,语法是什么?

例如,我正在寻找类似的东西:

0 投票
1 回答
1202 浏览

dotnetnuke - WebMatrix 和 DotNetNuke - 将数据库发布到托管的 SQL Server

我正在尝试将 WebMatrix DotNetNuke 站点发布到共享托管环境。文件发布得很好,但是发布数据库会导致一些问题。

这是来自 WebMatrix 发布日志的片段(我已经编辑了实际的 SQL 用户名和 SQL 主机 - [方括号] 中的内容):

从上面的日志中可以明显看出,DotNetNuke WebDeploy 包正在尝试创建数据库。数据库已经存在,我可以使用 SQL Management Studio 远程连接到它。

因为这是一个托管的共享 SQL 环境,所以托管商不会允许用户创建数据库。托管 SQL 服务器上的 SQL 数据库用户/登录名是数据库的 dbowner。

这是 WebMatrix DNN WebDeploy 发布包中的错误吗?

有什么解决方法吗?

这是使用 WebMatrix 1.0 RTM 和从 WebMatrix 应用程序库下载的 DotNetNuke 应用程序。我创建了一个本地 SQL Express 数据库来为 DNN 站点提供一些内容。一切都很好,现在我正在尝试发布到已经创建数据库的共享主机环境。

0 投票
1 回答
431 浏览

msdeploy - TFS 2010 - Web 部署到 IIS6

我已经在 TFS2010 中使用 MSBuild 参数设置了构建配置,以使用 WebDeploy 部署到远程 IIS6 网络服务器。我可以毫无问题地从 VS2010 手动使用 WebDeploy 部署到这个远程 Web 服务器。但是,当我启动 TFS 构建时,它在尝试部署到远程机器时失败并出现权限被拒绝错误。我已将用户添加到网络服务器框中的管理员组。

我在安全事件日志中发现未设置域:

登录失败:
原因:未知用户名或密码错误
用户名:tfssvcUser
域:
登录类型:3
登录过程:NtLmSsp
身份验证包:NTLM 工作站名称:TFSServer

当我手动运行它时,域已设置。tfssvcUser 是在构建服务器上运行的域用户。

我现在正在运行 MSDeploy 1。

有任何想法吗?

0 投票
2 回答
1141 浏览

visual-studio-2010 - 在 WebDeploy 期间忽略删除文件

我正在使用 TeamCity 通过 msbuild 和 WebDeploy 构建和部署一组 MVC 应用程序。

在我的解决方案构建/部署之前的步骤中,我将 app_offline.htm 复制到部署目录,以便我可以执行 SQL 更新和其他 Web/解决方案管理步骤,包括构建。

WebDeploy 中的一项设置是删除未包含在项目中或运行站点不需要的文件。这每次都会删除我的 app_offline.htm 文件。虽然我知道这是一种理想的结果,但有没有办法在部署时排除这个文件从部署目录中删除?

我尝试使用 ExcludeFromPackageFiles 选项添加 ItemGroup,但没有结果。