问题标签 [microsoft-web-deploy]

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 投票
1 回答
931 浏览

webmatrix - 通过 Web Deploy 在 Azure VM 上发布 Webmatrix 站点

我无法通过 Webmatrix 2 发布我的 Web 应用程序。有人能说明一下吗?

我按照以下步骤操作:

a) 通过 Azure 门户创建 VM

b) 在端口 8172 和 tcp 端口 80 上为 Web 部署创建端点

c) RDPed 到 Win Server-08-R2-Sp1-Jun-12 并安装 Web Platform 4.0

d) 已安装的 IIS 7 推荐配置

e) 在服务器上安装了 Webmatrix 2,而服务器又安装了 Dot Net 4.0、Web Deploy

f) 安装 IIS Role Services - Management Services 并将属性更改为 [Auto Start] 并重新启动

g) 编辑了默认网站文件夹的[权限]并添加了[网络服务]并设置了[读/写/管理]权限。

h) 验证 Web 部署和 Web 管理服务正在服务中运行。

i) 从浏览器查看网站,可以看到 IIS 启动页面

j) 在服务器上运行 ServerValidator UI 应用程序并确认 Web 管理服务等运行良好

k) 在这些步骤之后,当我在 Webmatrix 发布设置中输入所有参数(我的 ac/ 是服务器上的管理员)时,我收到“无法建立连接”错误。

提前致谢。

0 投票
4 回答
3911 浏览

asp.net - Web 部署项目的更好替代方案

我有一个包含几个项目的解决方案,其中 3 个是基于 Web 的(IIS / MVC 站点中的 WCF)。当解决方案构建时,它将这个分布式系统的每个组件转储到“构建”文件夹中。运行整个输出的“配置器”部分将自动在云中设置系统。它非常整洁 :) 然而,Web 部署项目是一个主要的痛苦。他们“构建”(即部署)每次我构建时 - 即使没有对他们各自的项目进行任何更改。

改变了一行代码?期待等待大约一分钟以重新部署 3 个 Web 项目。

[这些项目目前非常简单 - 两个有一个 .svc 和一个 .ashx 文件 - 另一个是一个有大约 5 个视图的 MVC 应用程序]

我意识到我可以将解决方案配置更改为不“构建”它们,但我一直在这样做,而且很容易在第二天登录并忘记它,并花费几个小时追踪分布式系统中的错误根本没有建造的东西。

为什么我使用 Web 部署项目?好吧,因为我需要来自 web 项目的所有页面 + 二进制文件。项目本身的构建输出是“bin”文件夹,因此没有页面。整个项目文件夹?它有 .cs、.csproj 和其他我不想包含的文件。

这最终将建立在构建服务器上,但目前它是本地的。但我想要一种将实际输出文件从 Web 项目获取到我的目标文件夹的快速方法。有任何想法吗?

0 投票
1 回答
3321 浏览

asp.net - MSDeploy 包缺少文件

我正在使用 MSBuild 构建一个 Web 应用程序项目并添加参数来创建包文件。这一切都很好。_PublishedWebSites我在输出中得到两个文件夹:

ApplicationName文件夹中,整个网站都在那里,我可以简单地将这个文件夹复制到网站上,它就会运行。

在 Package 文件夹中,我得到了预期的 5 个文件:

但是,在部署包时,AppName.dll缺少 Web 应用程序 dll ( ) 以及其他一些重要的引用依赖项。

检查包本身确实会发现这些文件实际上已从 Web 应用程序bin目录中丢失。

这很奇怪,考虑到文件都在根AppName文件夹中,而不是在AppName_Package文件夹中找到的包中。

我所做的唯一与 MSDeploy 相关的修改是我正在覆盖CopyAllFilesToSingleFolderForPackageDependsOn目标以从库项目中复制一些处理程序,这一切都很好。

因此,我无法确定为什么 Web 应用程序的 DLL,并且bin在包创建过程中仅从目录中删除了一些其他(引用的)DLL(但不是全部 - 可能是 3%)。

任何想法我应该在日志文件中寻找什么?

编辑:(对赛义德的回应):

我真的很感谢你回答我的帖子。不幸的是,我不确定我们是否在同一页面上。就像我说的,我可能没有很好地解释我的问题,无法真正让其他人了解我的问题到底是什么。让我再次尝试澄清一下

将外部文件复制到我的 Web 应用程序中不是问题。我知道浏览我的帖子并看到非常常见的“CopyAllFilesToSingleFolderForPackageDependsOn”元素会引发一些危险信号、警报、铃声和口哨声。。这似乎是人们正在努力解决的一个常见问题,正如您所指出的,它的执行存在一些问题。这对我来说没问题。

我的问题更多地与项目引用的 DLL 有关,最重要的是应用程序 DLL 本身没有被复制。

今天更多的调整揭示了一些我不知道的事情。例如:

在 TFS 上启动构建会输出几件事:

  1. 来自 TFS 的源输出到源目录 (SourceDir)

    • 这仅包含签入 TFS 的输出
    • 这不包括项目或文件引用,只包括在 TFS 中提交的内容
  2. 构建的输出在两个文件夹中

    • 二进制文件(包括项目和文件引用)
    • 来源(仅限 TFS 中包含/提交的内容)

在 Binaries 中,我找到了 _publishedWebsites 文件夹,以及所有项目和文件引用,而在 Sources 中,只有检入 TFS 的文件。

我的问题或困惑是认为当我将以下参数传递给 MSBuild Arguments 时,它将获取构建 (_PublishedWebsites) 的输出并使用这些文件来创建包。它不这样做。

实际过程基于 SOURCES 文件夹中的文件构建一个包。所以,这是我的困境/困惑,因为我没有将我的应用程序 dll 提交到源代码中,它没有包含在包中,因此没有被发送到测试服务器上的测试站点。

总结一下,一旦我在我的开发机器上“签出以进行编辑”我的应用程序 DLL,他们编译解决方案,最后将应用程序 DLL 提交到源代码控制,然后它被包含在包中,因为它只是作为另一个包含在包中源项。

所以,我想这是我的错,因为我不了解如何将 TFS BUILD 的输出放入源文件夹,并将其包含到 msdeploy 使用的包中。

可能有一些非常基本的东西我错过或只是略过 - 并且不理解,包创建来自 Sources 文件夹而不是 _PublishedWebsites 文件夹。我也不明白如何将 MSBuild 编译的应用程序 dll 和项​​目引用的 dll 放入我的包中——替换源代码控制中已提交的源项目。

我希望这不会完全浪费你的时间,因为我错过了一个

某处。
我很感激你可以指导我找到任何现有的资源,这些资源已经解释了我应该能够理解它并让它工作的地方。或者如果在这里告诉我很容易。

0 投票
1 回答
1830 浏览

visual-studio-2010 - Web Deploy 适用于 VS2010;VS2012 失败

使用 VS 2010 Web Deploy 可以正常工作并且没有问题。同时,VS 2012的Web Deploy失败,说明服务器没有响应,提示这个链接

这说明了以下条件,所有这些条件都得到满足。

  1. 你可以ping远程机器
  2. 在远程服务器上启动 msdepsvc 或 wmsvc 服务。
  3. 您的防火墙没有阻止目标端口的传入连接。如果您使用默认安装,那么它将是 80 formsdepsvc和 8172 forwmsvc

Web Deploy 仍然适用于 VS2010。

如何解决?

0 投票
2 回答
6272 浏览

webdeploy - 在 Web Deploy 工具中设置自动备份

我一直在努力设置自动备份,但似乎碰壁了。按照本文档,并使用 Powershell,我启用了备份(TurnOn-Backups -On $true,然后是 Configure-Backups -SiteName "test1" -Enabled $true;所以Get-BackupSettings -SiteName "test1"告诉我备份已启用)。

但是,每当我从 Visual Studio 进行发布时,都不会创建备份。我已经设置了备份路径,权限设置为允许所有人使用..所以我不知道我还能检查什么。

0 投票
1 回答
2965 浏览

msdeploy - 在 msdeploy runco​​mmand 中将参数传递给批处理文件

我无法让它工作

它给了我:

警告:'backup.bat' 不是内部或外部命令、可运行程序或批处理文件。

警告:进程“C:\Windows\system32\cmd.exe”(命令行“”)退出,代码为“0x1”。更改总数:1(添加 0 个,删除 0 个,更新 1 个,更改 0 个参数,复制 0 个字节)

如果我删除 param1 并将其硬编码在 .bat 中,它可以工作,因此 bat 文件没有问题,以防万一。

我试图指定 .bat 的完整路径,但它仍然不起作用:

在这种情况下,它看起来像是将路径解释为远程路径,它希望 backup.bat 在服务器上。我在服务器上移动了 backup.bat 后向我确认了这一点,它起作用了

为什么一定要这么难???

0 投票
1 回答
902 浏览

visual-studio - 从多台计算机进行 Web 部署

我在多台计算机上的网站上工作,我的工作和我的家用电脑。源代码保存在 git 存储库下。我使用 Web Deploy 将网站发布到公共服务器上的 IIS。一切正常,我可以从两台计算机上发布,并且可以正常工作

问题是,当我从一台 PC 部署,然后转到另一台,从 git 获取最新更改,进行更多更改,然后再次部署时,它会重新部署整个网站,而不是仅部署已更改的文件 - 原样如果我从本段的第一句话中取出“然后转到另一个,从 git 获取最新更改”步骤会发生什么。

我可以做什么,我可以在我的 git 存储库中包含哪些文件(我排除所有packages,binobj目录),或者我可以执行哪些额外的配置来解决这个问题?

0 投票
1 回答
1559 浏览

msdeploy - MSDeploy API - 允许不受信任的证书

我正在尝试通过 c# 使用 MSDeploy API 运行远程 MSDeploy 命令。

我正在运行以下内容:

当我运行不受信任的证书时,它会引发异常。我如何告诉 MSDeploy 不要担心证书?(即基于代码的“AllowUntrustedCertificate=true”)

0 投票
1 回答
625 浏览

asp.net-mvc - 在执行代码首先 MVC Web 部署时收到错误

我已经设置了一个运行 SQl Server Web 版和完整 IIS 7.5 的远程服务器。我能够毫无问题地将我的 MVC 4 应用程序部署到远程框,但是当我尝试运行该网站时,我收到以下错误:

错误控制台说:

正如错误日志所暗示的那样,我的连接字符串很可能不正确。我在 Visual Studio 中本地运行的连接是:

我已经为远程服务器上的连接设置了一个转换:

  1. 通常我使用 SQL 登录,所以我在这里感到困惑。对于使用 Windows 身份验证的 SQL Server Web 版,连接字符串应该如何查找?

  2. 看起来 IIS APPPOOL\backoffice.mysite.com 正在尝试创建数据库。它是否正确?如果是这样,我不需要在 SQL Management Studio 中为此用户创建登录名和用户吗?

  3. 在运行部署之前,我是否需要在 SQL Management Studio 中创建数据库?

非常感谢!

0 投票
2 回答
5396 浏览

c# - Web 部署 API - 部署 .NET 4.5 应用程序

我们使用 Web Deploy 3 的(几乎完全未记录的)“公共 API”来创建我们网站的 .zip 包,然后将其同步到服务器:

在我们在生产和构建服务器上安装 .NET 4.5 并将我们正在部署的项目也升级到 4.5 之前,此代码运行良好。现在我们收到以下错误:

您尝试使用的应用程序池将“managedRuntimeVersion”属性设置为“v4.0”。此应用程序需要“v4.5”。了解更多信息:http: //go.microsoft.com/fwlink/ ?LinkId=221672#ERROR_APPPOOL_VERSION_MISMATCH 。

我们的服务器肯定安装了 .Net 4.5,并且 IIS 网站应用程序池版本是“.NET Framework v4.0.30319”(我知道它说的是 v4,但 .NET 4.5 是“就地”升级并将 4.0 DLL 替换为新版本号 .30319)。

通过添加/p:VisualStudioVersion=11.0标志(这导致不同的 Web 应用程序目标文件成为使用它以某种方式允许部署 .NET 4.5 应用程序)。

有谁知道为什么 Web Deploy API 会这样抱怨以及如何以与 MSBuild 解决方案相同的方式解决此错误?