我有 2 台生产服务器,每次都需要将应用程序部署到其中。现在我有 2 个不同的发布配置文件 - 每台服务器 1 个。我通过 Visual Studio 2012 Web 部署手动运行这些。
有没有办法在一个步骤中自动运行两个发布配置文件?
当使用Visual Studio 2013使用WebDeploy将Web应用程序发布到服务器时,为什么速度很慢,这个过程可以加快吗?
如果应用程序是从同一台计算机部署的,则更新速度会大大提高,因为它只更新更改的文件。
如果应用程序是从不同的计算机部署的,则每个文件都会重新上传,即使它们没有更改。我怀疑 VS 正在使用原始文件时间戳检查来确定是否更新文件。
问题是,对于 70MB 大小的应用程序,更新可能需要一段时间。
因此,我一直在尝试在发布过程中一遍又一遍地构建自己的大型网站时遇到问题,因为懒惰,我想将其脱机并再次发布。
<EnableMSDeployAppOffline>true</EnableMSDeployAppOffline>
Run Code Online (Sandbox Code Playgroud)
问题是它创建的页面是空的。标题为“站点正在建设中”。但页面上没有任何内容,正文提到了 IE 友好:
额外的隐藏内容,以便 IE 友好错误不会阻止显示此消息(注意:如果内容不符合特定大小,它将显示“友好”404 错误)。
但这是在评论中,页面只是白色的空白。
我发现这篇文章:发布期间自定义 app_offline.htm 文件
建议 C:\Users[user]\AppData\Roaming\Microsoft\VisualStudio\11.0\app_offline.htm 包含 MSDeploy 的内容,我使用的是 VS2013 并相应地转到 12 文件夹,发现文件对其进行了编辑,MSDeploy 只是面对我的希望大笑,粉碎我对屏幕上任何信息的梦想。
我不在乎我的所有网站是否都有相同的屏幕,它是一个 Intranet,而且我所有的网站无论如何看起来都很相似,但我只需要获取屏幕消息和元标记即可在 1 分钟内刷新页面。
有谁知道在哪里编辑或编辑什么内容?
我成功地为 Web 部署配置了 IIS 并添加了一个 IIS 管理器用户。问题是当我尝试发布时,我返回错误
错误 1 Web 部署任务失败。(无法对指定目录(“2_0_50727”)执行操作(“删除目录”)。如果服务器管理员没有为您正在使用的用户凭据授权此操作,则可能会发生这种情况。了解更多信息: http:// go.microsoft.com/fwlink/?LinkId=221672#ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER .) C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets 4270 5 WebAPI
简而言之,用户没有权限处理根文件夹内容。我无法弄清楚,授予权限的用户是谁。
链接的 Microsoft 页面告诉我们,在大多数情况下,它是“本地服务”,而且它已经拥有完全控制权限。所以我尝试了更多的“IUSR”、“DefaultAppPool”——仍然不是正确的。临时解决方案是向“所有人”授予权限,然后它就可以工作了……但是谁是正确的用户??
我想知道是否有办法告诉 Web Deploy 在删除所有其他附加文件的同时在部署期间不要触摸某个文件夹。
基本上我想保留“删除目的地的其他文件”选项以删除一些过时的文件,同时保留服务器上一个文件夹中的所有文件。
该文件夹包含由服务器生成的未知数量的文件,我不想在部署期间复制这些文件并将它们复制回来。
我尝试使用 ExcludeFoldersFromDeployment 选项,它仍然删除文件夹中的所有文件
Visual Studio 中的旧样式/.NET Framework webapps 有一个可以自定义的发布管道。例如,Parameters.xml可以指定一个文件,如下所示:
<PropertyGroup>
<WebAppPackageConfigDir Condition=" '$(WebAppPackageConfigDir)' == '' ">$(MSBuildProjectDirectory)\Package</WebAppPackageConfigDir>
<ProjectParametersXMLFile>$(WebAppPackageConfigDir)\Parameters.xml</ProjectParametersXMLFile>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
以便在构建 MSDeploy 包时,将其中定义的MSDeploy 参数合并到包中。Web 处理管道(主要在 中定义C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Microsoft\VisualStudio\v15.0\Web\Microsoft.Web.Publishing.targets)支持以多种方式自定义 MSDeploy 包 - 例如,包参数可以在文件或 MSBuild 中定义<ItemGroup>。
在 SDK 样式的 webapps(例如 ASP.NET Core webapps)中,使用一个“新的”发布管道,例如C\Program Files\dotnet\sdk\2.1.2\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.Publish.targets. 这会根据<PublishProtocol>值引入额外的目标文件,例如C\Program Files\dotnet\sdk\2.1.2\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targetsforPublishProtocol=MSDeploy或.\Microsoft.NET.Sdk.Publish.MSDeployPackage.targetsfor PublishProtocol=MSDeployPackage。这两个文件都将_CreateParametersFiles目标定义为:
<!--
***********************************************************************************************
TARGET : _CreateParameterFiles
***********************************************************************************************
-->
<Target Name="_CreateParameterFiles">
<ItemGroup>
<MsDeployDeclareParameters Remove="@(MsDeployDeclareParameters)" />
<MsDeployDeclareParameters Include="IIS Web Application …Run Code Online (Sandbox Code Playgroud) msdeploy webdeploy msbuild-wpp visual-studio-2017 asp.net-core-2.0
我正在努力建立一个持续的构建和部署系统,该系统将管理我们的 .NET 应用程序到多个环境的构建和部署。我们希望这样做,以便我们构建并将该构建部署到我们的开发环境,然后可以选择使用不同的配置文件设置将相同的构建部署到我们的测试环境。目前,我们的开发人员习惯于使用 web.config 转换来管理每个环境的配置值,他们更愿意继续这样做。最后,我们希望使用 MS Web Deploy 3.6 及其包部署选项进行部署。
在做了一些研究之后,我们发现并考虑了以下选项:
还有其他我们没有考虑过的选择吗?有没有办法做到这一点,让我们继续使用 web.configs,但只生成一个 Web 部署包?
我试图在周末将我的 ASP.NET Core 2.2 项目迁移到新发布的 ASP.NET Core 3.0。
在本地环境中一切看起来都很好,但是在发布并部署到 IIS 之后,我在使用开发环境配置时遇到了一些问题。
我使用的Visual Studio 2019的Community Edition版本16.3.0
经过检查,我发现该web.config文件的ASPNETCORE_ENVIRONMENT值设置为Development,这导致了问题。即使在发布配置中,它也是通过网络发布生成的。
我以为它应该是Production?还是我错过了一些配置?我从未在任何早期版本的 .NET Core 中遇到过这个问题。
现在的问题是,如果我再次发布整个文件夹,问题很可能会再次出现。
有关问题根本原因的任何解决方案或建议?我的Web.config看起来如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<httpRuntime executionTimeout="180" />
</system.web>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\MyApp.dll" forwardWindowsAuthToken="false" stdoutLogEnabled="false" startupTimeLimit="3600" requestTimeout="23:00:00" hostingModel="InProcess" stdoutLogFile=".\logs\stdout">
<environmentVariables>
<environmentVariable name="ASPNETCORE_HTTPS_PORT" value="44329" />
<environmentVariable name="COMPLUS_ForceENC" value="1" />
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" /> …Run Code Online (Sandbox Code Playgroud) 我正在 Visual Studio 2019 中发布一个 asp.net core v3.1 应用程序,
因为核心应用程序不创建web.config
webdeploy 创建它并在每次发布时发布自己的 web.config
虽然它确实
设置了stdout=false并且我想是真的 -
任何人都知道如何控制它?
我正在尝试在中配置一些东西,.csproj
但从未找到正确的组合
继承人发布的 web.config 的样子:
<aspNetCore processPath="dotnet" arguments=".\myproj.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
Run Code Online (Sandbox Code Playgroud)
当然,这就是我想要的样子:
<aspNetCore processPath="dotnet" arguments=".\myproj.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
Run Code Online (Sandbox Code Playgroud)
关于同一问题的另一篇文章:https :
//github.com/MicrosoftDocs/azure-docs/issues/31380
我刚刚将 Blazor Web Assembly 解决方案升级到 .Net 5,并且在 NuGet 命令步骤的 Azure Pipeline 中出现以下错误:
错误 MSB4236:找不到指定的 SDK 'Microsoft.NET.Sdk.BlazorWebAssembly'
azure-pipelines.yml 文件如下:
trigger:
- develop
pool:
vmImage: 'windows-latest'
variables:
solution: 'SomeProjectNew.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: VSBuild@1
inputs:
solution: 'SomeProjectNew.sln'
msbuildArgs: '/p:DeployOnBuild=true /p:PublishProfile=SomeProject-demo /p:Password=$(SomeProjectDemoWebDeployPassword)'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
Run Code Online (Sandbox Code Playgroud)
我是否遗漏了管道配置中的某些步骤,以使它与 .Net 5 和新的 blazor sdk 一起使用?
webdeploy ×10
asp.net ×2
asp.net-core ×2
iis ×2
msdeploy ×2
.net ×1
.net-5 ×1
asp.net-mvc ×1
deployment ×1
msbuild ×1
msbuild-wpp ×1
publishing ×1
stdout ×1
web-config ×1