标签: microsoft-web-deploy

错误:"无法读取配置部分'system.webServer/management/delegation',因为它缺少模式

我试图通过Web部署将我的计算机上的网站发布到IIS Web服务器.

我有3台服务器.所有服务器都安装了相同的东西(Webdeploy等)并启动了服务(Web部署代理服务和Web管理服务).

在第一台服务器上,我没有连接问题.但是当我在Visual Studio中"验证连接"到IIS时,其他两个服务器给我一些错误.当我查看IIS服务器上的日志时,我的访问监听了html代码200(ok).

在远程计算机上处​​理请求时出错.文件名:MACHINE/WEBROOT

错误:无法读取配置节'system.webServer/management/delegation',因为它缺少架构

我真的不知道什么可以解决这个问题,希望你能帮助我.

asp.net deployment iis webdeploy microsoft-web-deploy

81
推荐指数
3
解决办法
2万
查看次数

Web部署错误到IIS - 应用程序池managedRuntimeVersion

尝试将ASP.NET应用程序部署包部署到IIS时,收到错误

(您尝试使用的应用程序池将'managedRuntimeVersion'属性设置为'v2.0'.此应用程序需要'v4.0'.

我采取了以下步骤:

  • 确保我的服务器的默认.NET Framework版本为4(重新启动计算机上的IIS服务)
  • 确保我的Web应用程序设置为.NET 4
  • 确保应用程序的web.config没有引用要求.NET 2或3.5

这个错误的根本原因是什么,如何解决?

在此输入图像描述

在此输入图像描述

.net asp.net iis iis-7.5 microsoft-web-deploy

29
推荐指数
2
解决办法
3万
查看次数

Web部署到Azure不会强制Web App获取新更改

我有一个从我GITAzure App使用配置的自动部署Web Deploy.每次将新代码推送到repo时,都会启动build,然后将其部署到Azurewith Web Deploy.

问题是Web App(ASP.NET MVC)继续使用部署的代码提供请求,并且文件替换不会真正影响它.即使web.config已更改.基本上,我可以强制加载新应用程序的唯一方法是手动重启(或停止/启动).

这是我的publishig配置文件:

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>MSDeploy</WebPublishMethod>
    <ADUsesOwinOrOpenIdConnect>False</ADUsesOwinOrOpenIdConnect>
    <PublishProvider>AzureWebSite</PublishProvider>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish>https://app-name.azurewebsites.net</SiteUrlToLaunchAfterPublish>
    <LaunchSiteAfterPublish>False</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <MSDeployServiceURL>app-name.scm.azurewebsites.net:443</MSDeployServiceURL>
    <DeployIisAppPath>app-name</DeployIisAppPath>
    <RemoteSitePhysicalPath />
    <SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
    <MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
    <EnableMSDeployBackup>True</EnableMSDeployBackup>
    <UserName>$app-name</UserName>
    <Password>...</Password>
    <AllowUntrustedCertificate>True</AllowUntrustedCertificate>
    <_SavePWD>True</_SavePWD>
    <_DestinationType>AzureWebSite</_DestinationType>
  </PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)

msdn的相似主题没有答案

asp.net asp.net-mvc azure web-deployment microsoft-web-deploy

25
推荐指数
1
解决办法
957
查看次数

如何在Windows 10专业版上配置Web Deploy

如何在Windows 10上配置W​​eb Deploy?应该有用吗?我在Windows 8上找到了有关Web Deploy的信息,但它无法正常工作.它在Windows 10中如何?

iis microsoft-web-deploy windows-10

21
推荐指数
2
解决办法
2万
查看次数

什么Jenkins插件可用于.NET网站部署?

我们使用: - SVN - Jenkins - MS Build插件

我们有几个Web Form/MVC/Web服务.

我们将设置Microsoft Web Deploy并从Jenkins运行bat文件.

也许有人可以提出更好的方法,或者这看起来像最有效的解决方案?

先感谢您.

asp.net msbuild web-deployment jenkins microsoft-web-deploy

14
推荐指数
1
解决办法
1万
查看次数

从Visual Studio发布并使用aspnet_regiis自动加密appSettings

我有部署到我的本地IIS服务器的Web应用程序Sites\Default,它工作正常,现在我想让它更安全 - 我想加密连接字符串和appSettings.
在pubxml文件中我添加了这一行:

<MSDeployEnableWebConfigEncryptRule>true</MSDeployEnableWebConfigEncryptRule>
Run Code Online (Sandbox Code Playgroud)

但这只加密连接字符串.我知道我可以手动打电话:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -pe "appSettings" -site Default -app "/"
Run Code Online (Sandbox Code Playgroud)

在部署之后在我的服务器上加密包含appSettings的外部文件,但我必须手动执行此操作.

我的问题是我如何从Visual Studio(Build> Publish)部署网站,并aspnet_regiis在发布成功后自动执行该命令.

找到了可以使用的信息runcommand其他有关bat文件的信息,但我没有从命令行调用MSDeploy.
我还发现了我应该构建自定义提供程序并从MSDeploy调用它的信息.

我应该如何编辑我的pubxml文件以获得此行为?

EDIT1:
我设法After Deploy使用以下方法挂钩Target:

<Target Name="EncryptAppSettings" AfterTargets="MSDeployPublish" >
  <Message Text="Encrypting appSettings" />
  <Exec Command="aspnet_regiis -pe &quot;appSettings&quot; -site Default -app &quot;/&quot;" />
  <Message Text="AppPath: $(DeployIisAppPath)" />
</Target>
Run Code Online (Sandbox Code Playgroud)

但是现在我收到了这个错误:

命令"aspnet_regiis -pe"appSettings"-site Default -app"/""退出,代码为9009.

EDIT2:
我尝试过像这样使用runCommand:

<ItemGroup>
  <MsDeploySourceManifest Include="runCommand">
    <path>aspnet_regiis -pe &quot;appSettings&quot; -site Default -app &quot;/&quot;</path>
    <waitInterval>10000</waitInterval>
    <AdditionalProviderSettings>waitInterval</AdditionalProviderSettings>
  </MsDeploySourceManifest>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

但我没有运气.我发现了 …

asp.net encryption visual-studio microsoft-web-deploy visual-studio-2013

13
推荐指数
1
解决办法
1874
查看次数

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

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

但是,每当我从Visual Studio发布时,都不会创建备份.我已设置备份路径,权限设置为允许每个人的所有内容..所以我不知道我还能检查什么.

webdeploy microsoft-web-deploy

12
推荐指数
1
解决办法
5613
查看次数

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

我们正在使用Web Deploy 3的(几乎完整的未公开的)'公共API'来创建我们网站的.zip包,然后将其同步到服务器:

DeploymentBaseOptions destinationOptions = new DeploymentBaseOptions()
{
       UserName = //username,
       Password = //password,
       ComputerName = //a server
};

using (var deploymentObject = DeploymentManager.CreateObject(DeploymentWellKnownProvider.Package, "C:/MyWebsitePackage.zip"))
{
       deploymentObject.SyncParameters.Load(packageParametersFile); \\ contains some connection string information and nothing more.
       DeploymentSyncOptions syncOptions = new DeploymentSyncOptions();

       syncOptions.WhatIf = false;

       deploymentObject.SyncTo(destinationOptions, syncOptions);
}
Run Code Online (Sandbox Code Playgroud)

这段代码完美无缺,直到我们在生产和构建服务器上安装.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应用程序目标文件),可以通过MSBuild.exe命令行进行部署(而不是通过创建程序包,但直接同步到服务器)来解决此问题用于以某种方式允许部署.NET 4.5应用程序).

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

c# msbuild asp.net-mvc microsoft-web-deploy

12
推荐指数
1
解决办法
5176
查看次数

为什么我的.wpp.targets文件没有应用到我的构建服务器上?

我有一个自定义.wpp.targets文件,它设置了一些ACL.当我在visual studio中构建时,生成的源清单文件包含自定义ACL.

当我从构建服务器运行时,它只是不起作用.生成的文件不包含.wpp.targets文件中的acl.

构建服务器安装了.net框架4,Web部署,它具有正确的Microsoft.Web.Publishing.targets文件.我在服务器上的构建中包含了一些诊断,其中似乎"AfterAddIisSettingAndFileContentsToSourceManifest"属性为false.我不熟悉msbuild.有人可以帮忙吗?

编辑:

我注意到在我的Microsoft.Web.Publishing.targets中有以下几行:

  <PropertyGroup>
    <WebPublishPipelineCustomizeTargetFile Condition="'$(WebPublishPipelineCustomizeTargetFile)'==''">$(WebPublishPipelineProjectDirectory)\$(WebPublishPipelineProjectName).wpp.targets</WebPublishPipelineCustomizeTargetFile>
  </PropertyGroup>

  <Import Project="$(WebPublishPipelineCustomizeTargetFile)" Condition="Exists($(WebPublishPipelineCustomizeTargetFile))"/>
Run Code Online (Sandbox Code Playgroud)

但是,msbuild的输出中没有关于webpublishpipeline的内容.我认为我的.wpp.targets文件甚至没有被查看!

目标文件:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"  ToolsVersion="4.0">
    <!--
    ********************************************************************
     Task Custom ACLs 
    ********************************************************************
    -->
    <PropertyGroup>
         <!-- Extends the AfterAddIisSettingAndFileContentsToSourceManifest action to also set ACLs-->
           <AfterAddIisSettingAndFileContentsToSourceManifest Condition="'$(AfterAddIisSettingAndFileContentsToSourceManifest)'==''">
                $(AfterAddIisSettingAndFileContentsToSourceManifest);
                SetCustomACLs;
            </AfterAddIisSettingAndFileContentsToSourceManifest>
        </PropertyGroup>

        <Target Name="SetCustomACLs">
            <Message Text="Adding Custom ACls" />
            <ItemGroup>
                <!--Make sure the by default Networkservice/AppPoolIdentity have write permission to the root-->
                <MsDeploySourceManifest Include="setAcl" >
                    <Path>$(_MSDeployDirPath_FullPath)\bin\ABCpdf8-64.dll</Path>
                    <setAclAccess>ReadAndExecute</setAclAccess>
                    <setAclResourceType>File</setAclResourceType>
                    <AdditionalProviderSettings>setAclResourceType;setAclAccess</AdditionalProviderSettings>
                </MsDeploySourceManifest>
            </ItemGroup>
        </Target>
    </Project>
Run Code Online (Sandbox Code Playgroud)

msbuild输出:

[GenerateMsdeployManifestFiles] CallTarget
    [22:13:44]: [CallTarget] Target "PipelinePreDeployCopyAllFilesToOneFolder" skipped. …
Run Code Online (Sandbox Code Playgroud)

msbuild build microsoft-web-deploy

11
推荐指数
1
解决办法
7047
查看次数

如何使用MS WebDeploy将ASP.NET应用程序部署到Amazon EC2?

我有一个ASP.NET MVC站点,托管在Amazon EC2服务上.我想与MS WebDeploy建立自动部署到此站点.我发现了一篇很棒的文章:使用Microsoft Web Deploy自动部署.

我无法访问,https://mySite:8172/MsDeploy.axd因为默认情况下端口8172在亚马逊上关闭.我对EC2服务配置不太熟悉,所以我无法了解如何通过https协议打开此端口.我已重新配置IIS以使用默认端口(433),我在用于我的站点的Amazon安全组上打开此端口.

现在我试图https://mySite/MsDeploy.axd在网络浏览器中打开.IE请求凭据,记下证书错误(我点击"继续..")并转发给我404.

可以肯定的是,我尝试通过VS 2010进行部署,当然它不起作用.

任何在Amazon EC2中使用MS Web Deploy经验的人都可以告诉我我做错了什么吗?

asp.net-mvc amazon-ec2 webdeploy microsoft-web-deploy

11
推荐指数
1
解决办法
7187
查看次数