我们有一个在Intranet上运行的Web应用程序,我试图使用Visual Studio 2010将它发布到互联网上。目标服务器正在运行iis7并且Webpipe理服务正在运行。 在Visual Studio 2010上,我的服务URL是: https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd 而网站/应用程序是: 默认网站/ WebApp 在目标上标记为IIS应用程序,并选中“允许不受信任的证书”,并使用pipe理帐户。 Visual Studio返回以下错误: 启动Web部署将应用程序/程序包发布到https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd?site=Default%20Web%20Site … C:\ Program Files \ MSBuild \ Microsoft \ VisualStudio \ v10 .0 \ Web \ Microsoft.Web.Publishing.targets(3588,5):错误:Web部署任务失败(远程代理(URL https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd?site=默认网站)无法联系,请确保远程代理服务已安装并在目标计算机上启动。 远程代理(URL https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd?site=Default网站)无法联系。 确保远程代理服务已安装并在目标计算机上启动。 收到不受支持的响应。 响应标题'MSDeploy.Response'是'',但'v1'是预期的。 远程服务器返回错误:(403)禁止。 任何想法如何发布它没有一个有效的SSL证书?
我目前正在尝试使用Visual Studio 2010的“发布”和MSDeployfunction来处理我的Web部署需求,但根据我的构buildconfiguration,我们已经遇到了一个包装方面的问题。 我在32位环境下开发,但需要为64位环境创build发行包,所以在“发行”configuration中,我有一个后期构build事件,将64位版本的第三方dll复制到bin目录中,覆盖32位版本。 当我使用“发布”function时,即使将正确的64位dll拷贝到bin目录,也不会包含在包中。 有没有办法让“发布”包含在发布后事件中复制到bin目录中的文件?
从Windows 8到安装了Webpipe理服务的Windows Server 2012(IIS 8),我可以使用W8上的IISpipe理器来pipe理远程服务器,但是当我执行以下命令时,我从WMSvc获得404.7: msdeploy.exe" -verb:dump -source:contentPath=c:\InetPub\wwwroot,computerName=https://uktnws01:8172/MsDeploy.axd,userName=corp\administrator,password=WMSvcIsCrap,authType=Basic -allowUntrusted 我已经尝试了各种组合和参数。 我可以telnet到那个端口,我知道它的开放。 我只是从Windows中删除pipe理服务function并重新启动。 我会倒入一杯苏格兰威士忌,做点零食。 同时,如果您有任何想法,请分享。 join我的实时博客,并按照行动。 更新1 随着pipe理服务删除,我现在得到 错误:无法连接到远程服务器错误:由于目标机器主动拒绝,无法build立连接192.168.2.22:8172错误计数:1。 第二行是新消息! 呜呼。 更新2 好的,现在情况正在恶化。 由于重新安装,远程IIS控制台将在证书上发出警报,然后说, 服务器不接受远程连接。 但我认为这是因为我可能没有重新启用远程pipe理,在安装该死的东西的顶部。 更新3 远程pipe理启用,远程IIS再次工作,但404已经返回。 只是在SEO的利益,这是完整的错误: Error Code: ERROR_DESTINATION_NOT_REACHABLE More Information: Could not connect to the remote computer ("uktnws01"). On the remote computer, make sure that Web Deploy is installed and that the […]
Visual Studio 2010有一个“发布”命令,允许您将Web应用程序项目发布到文件系统位置。 我想在我的TeamCity构build服务器上执行此操作,所以我需要使用解决scheme运行器或msbuild执行此操作。 我尝试使用发布目标,但我认为这可能是ClickOnce: msbuild Project.csproj /t:Publish /p:Configuration=Deploy 我基本上想做一个web部署项目,但没有加载项。 我需要它来编译WAP,删除任何不必要的执行文件,执行任何web.config转换 ,并将输出复制到指定的位置。 我的解决scheme ,基于杰夫·斯维尔的答案 <Target Name="Deploy"> <MSBuild Projects="$(SolutionFile)" Properties="Configuration=$(Configuration);DeployOnBuild=true;DeployTarget=Package" ContinueOnError="false" /> <Exec Command=""$(ProjectPath)\obj\$(Configuration)\Package\$(ProjectName).deploy.cmd" /y /m:$(DeployServer) -enableRule:DoNotDeleteRule" ContinueOnError="false" /> </Target>
Vishal Joshi 提供了一个很好的PDC讲述,介绍了Visual Studio 2010中的新MSDEPLOYfunction,以及如何在TFS中部署应用程序。 ( Scott Hanselman也有一个很好的演讲,但他没有进入TFS)。 您可以在TFS2010中使用MSBUILD调用MSDEPLOY将您的软件包部署到IIS。 这是通过参数MSBUILD完成的。 谈话解释了一些命令行参数,例如: /p:DeployOnBuild /p:DeployTarget=MsDeployPublish /p:CreatePackageOnPublish=True /p:MSDeployPublishMethod=InProc /p:MSDeployServiceURL=localhost /p:DeployIISAppPath="Default Web Site" 但是这里的文档在哪里 – 我找不到? 我花了整整一天的时间试图让这个工作,不能完全正确的,并不断结束各种错误。 如果我运行包的cmd文件,它完全部署。 如果我通过Visual Studio运行WebDeploy,它也可以很好地工作。 但我想通过使用这些参数通过msbuild运行整个部署,而不是单独调用msdeploy或运行包.cmd文件。 我该怎么做? PS。 是的,我确实运行了Web Deployment Agent Service 。 我也有在IIS下运行的pipe理服务。 我试过使用两个。 我正在使用的参数: /p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:Configuration=Release /p:CreatePackageOnPublish=True /p:DeployIisAppPath=staging.example.com /p:MsDeployServiceUrl=https://staging.example.com:8172/msdeploy.axd /p:AllowUntrustedCertificate=True 给我 : C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ […]
我正在尝试使用WebDeploy发布使用自定义MSDeploy跳过规则和保存在Visual Studio 2012中的发布configuration文件的网站。 我的发布configuration文件从命令行工作,但跳过规则跳过删除文件夹不起作用。 我在我的web应用程序中有一个ErrorLog子文件夹,里面有一个web.config文件来设置正确的文件夹权限。 如果没有任何跳过规则, ErrorLog文件夹和web.config文件将正常发布,但在发布时将删除服务器上文件夹中的所有现有错误日志文件。 与<SkipAction>Delete</SkipAction> 当我将自定义跳过规则添加到我的wpp.targets文件时,跳过规则不再接受<SkipAction>元素的值。 如果我设置了<SkipAction>Delete</SkipAction> ,我得到以下错误: C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets(4377,5): error : Web deployment task failed. (Unrecognized skip directive 'skipaction'. Must be one of the following: "objectName," "keyAttribute," "absolutePath," "xPath," "attributes.<name>.") [C:\inetpub\wwwroot\My.Website\My.Website\My.Website.csproj] 如果我简单地省略<SkipAction>元素, ErrorLog文件夹将在正常发布时被删除。 如果我再次设置<SkipAction></SkipAction> , ErrorLog文件夹将在发布时被删除。 如果我设置<KeyAttribute>Delete</KeyAttribute> ,则ErrorLog和web.config文件正常发布。 我的理解是,为了使用自定义跳过规则,您需要从命令行调用MSBuild,而不是从VS 2012中发布。但是,我仍然想使用我保存的发布configuration文件,而且我明白现在可以VS 2012。 我的MSBuild命令行: C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe My.Website.sln /p:Configuration=Release;DeployOnBuild=true;PublishProfile="Test Server – Web Deploy" My.Website.wpp.targets: […]
我想打包我的VS2010 Web应用程序项目,准备用msdeploy进行部署。 在开发机器上,我可以这样做: MSBuild.exe "C:\path\to\WebApp.csproj" /target:package 但在我的生成服务器上,我得到这个错误: 错误MSB4057:项目中不存在目标“包”。 我在构build服务器上丢失了什么?
我在Visual Studio 2010中使用新的Web包装function进行testing,发现使用预生成事件将需要的.dll复制到我的应用程序依赖的用于API调用的bin文件夹中。 它们不能作为参考,因为它们不是可以与interop一起使用的COM DLL。 当我构build我的部署包时,我select仅包含运行应用程序所需的文件的选项将排除这些文件。 有没有办法configuration部署设置来包含这些文件? 我没有find任何好的文件。