我试图在Windows Server 2003上运行的IIS 6.0上查看我的网站的依赖关系.当我输入以下命令时,
msdeploy -verb:getDependencies -source:metakey=lm/w3svc/1
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
C:\Program Files\IIS\Microsoft Web Deploy>msdeploy -verb:getDependencies -source
:metakey=lm/w3svc/1
Error: Object of type 'metaKey' and path 'lm/w3svc/1' cannot be created
Error: The metabase key '/lm/w3svc/1' could not be found.
Error: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
Error count: 1
Run Code Online (Sandbox Code Playgroud)
任何人都可以向我解释这些吗?
我有VS2010,我开了一个网站.我现在如何使用MS Deploy部署到zip文件,该文件可以安装在远程IIS站点中?
我搜索了所有菜单选项,但似乎无法找到从哪里开始.
提前致谢
我收到以下错误 - 代码"错误:'连接字符串'参数不能为空或空."运行MSDeploy时.当我检查SetParameters.xml文件时,我注意到以下参数设置.
<setParameter name="ApplicationServices-Deployment Connection String" value="" />
<setParameter name="MusicStoreEntities-Deployment Connection String" value="" />
Run Code Online (Sandbox Code Playgroud)
我不是开发这个软件包的人,我不确定应该是什么.
我只是想了解MSDeploy的C#API(Microsoft.Web.Deployment.dll),但是我正在努力寻找一种确定给定Web服务器依赖性的方法。
基本上,我希望使用等效于以下MSDeploy命令行调用的C#:
msdeploy.exe -verb:getDependencies -source:webServer
Run Code Online (Sandbox Code Playgroud)
我已经尝试过文档,但是没有运气。有人能指出我正确的方向吗?
目前我的web.config看起来像这样:
<configuration>
<connectionStrings configSource="connectionstrings.config"/>
</configuration>
Run Code Online (Sandbox Code Playgroud)
在生成部署包(Msbuild.exe + target = Package)时,它不会"神奇地"将我的连接字符串参数化到parameters.xml文件以进行部署时的替换.
当我内联我的连接线时,一切都很好,并为我的连接线生成参数..
所以:
如何通过web.config转换复制connectionstrings.config的内容作为部署<... configsource ="xxx"/>的替换?
编辑: 我接受了Sayed Ibrahim的答案,因为'默认'行为非常好(web.config中连接字符串的自动参数化)但最后更好地指定需要参数化的确切内容(通过{projectname} .wpp.targets或parameters.xml文件).
msbuild web-config msdeploy web-config-transform config-transformation
我在Team City中具有以下命令行参数以进行部署。一切正常,但我想在部署时跳过一些目录。我如何在团队城市中的以下msbuild脚本中添加该逻辑
/P:Configuration=%env.Configuration%
/P:DeployOnBuild=True
/P:DeployTarget=MSDeployPublish
/P:MsDeployServiceUrl=https://%env.TargetServer%/MsDeploy.axd
/P:AllowUntrustedCertificate=True
/P:MSDeployPublishMethod=WMSvc
/P:CreatePackageOnPublish=True
/P:SkipExtraFilesOnServer=True
/P:UserName=xxxxx
/P:Password=xxxxx
Run Code Online (Sandbox Code Playgroud) 我希望webdeploy命令行命令跳过 - 删除/更新web.config文件和网站主机头更新.我怎么做.
当前命令行忽略任何跳过命令并更新绑定以反映非生产绑定.
我使用 WebDeploy 3 将 MVC 5 应用程序部署到在 Windows 2012 R2 上运行的 IIS。一切都很好,除非有时在成功部署后我收到403 - Forbidden: Access is denied错误,从浏览器访问站点时。回收池解决了这个问题,但它不是合适的选择。我希望 IIS 在 WebDeploy 完成更新文件后自动回收池
..........
Info: Updating file (blabla\Web.config).
Info: Adding ACL's for path (blabla.com)
Info: Adding ACL's for path (blabla.com)
Total changes: 22 (0 added, 0 deleted, 22 updated, 0 parameters changed, 1314018 bytes copied)
Run Code Online (Sandbox Code Playgroud)
为什么?如何解决问题?
Windows 事件日志(应用程序、安全、WebDeploy 或 IIS)中没有警告或错误。该站点使用 InProc 会话,面向 .NET 4.5,应用程序池具有默认设置(在 ApplicationPoolIdentity 下运行)。IIS 身份验证仅启用匿名和表单模块。
所以我有一个由Web项目和Azure资源组项目组成的解决方案,就像这里描述的那样:https://blogs.technet.microsoft.com/georgewallace/2015/05/10/deploying-a-website-有内容,通过视觉工作室与-资源组/
我遇到的问题是web项目需要在bin目录中包含一些EXTRA文件才能运行.现在通过Web项目本身的正常包过程,我通过添加自定义目标并挂钩到CopyAllFilesToSingleFolderforPackageDependsOn来完成此操作,如:
<PropertyGroup>
<CopyAllFilesToSingleFolderForPackageDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForPackageDependsOn>
</PropertyGroup>
<Target Name="CustomCollectFiles">
<ItemGroup>
<_CustomFiles Include="bin\SlimKIA.WebApi.xml" />
<FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
<DestinationRelativePath>bin\SlimKIA.WebApi.xml</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
Run Code Online (Sandbox Code Playgroud)
当我右键单击Web项目并对文件系统说"发布"时,我的文件就会被包含在内.一切都很好.
问题是,当我从部署项目部署时,这不会发生.我有一个MsDeploy资源可以做自己的事情.我需要以某种方式从这个项目中做我的CustomCollectFiles.
任何人都有任何想法如何实现这一目标?没有这个,我无法自动部署我的Azure解决方案.
谢谢!