我正在尝试使用Web Deploy发布.NET Web服务.目前,它包含了包中的XML文档文件.我在Visual Studio的项目属性的Build选项卡中取消选中"XML文档文件".这会阻止发布XML文件,但该项目引用了许多具有XML文档的自定义库.
显然,我们不想关闭自定义库的文档.也没有理由部署这些XML文件.
从msdeploy/msbuild命令行或项目属性中,如何防止XML文档文件包含在包和后续Web部署中?
更新
我已经尝试添加DEL /Q "$(TargetDir)*.xml"到构建前和构建后的事件但没有成功.XML文件仍添加到包中.
我有一个公平的项目的解决方案,其中3个基于Web(在IIS/MVC站点中的WCF).构建解决方案时,它会将此分布式系统的每个组件转储到"Build"文件夹中.运行整个输出的"配置器"部分将自动在云中设置系统.它非常整洁:)然而,Web部署项目是一个主要的痛苦.他们"构建"(即部署)我构建的每一个单一时间 - 即使没有对他们各自的项目进行任何更改.
改变了一行代码?期待等待大约一分钟,以便重新部署3个Web项目.
[这些项目目前非常简单 - 两个有一个单独的.svc和一个.ashx文件 - 另一个是一个有~5个视图的MVC应用程序]
我意识到我可以改变解决方案配置而不是"构建"它们,但我一直这样做,第二天登录并忘记它很容易,并花费几个小时来追踪分布式系统中的错误一些根本没有建成的东西.
为什么我使用Web Deploy项目?好吧,因为我需要来自web项目的所有页面+二进制文件.项目本身的构建输出是'bin'文件夹,因此没有页面.整个项目文件夹?它有.cs,.csproj和其他我不想包含的文件.
这将最终建立在构建服务器上,但它现在是本地的.但我想快速将实际输出文件从Web项目获取到我的目标文件夹.有任何想法吗?
asp.net deployment web-deployment-project webdeploy microsoft-web-deploy
我无法让它发挥作用
call "%MSDeployPath%msdeploy" -verb:sync -source:runCommand='backup.bat param1' -dest:auto,computername=10.xx.xx.xx,username=xxx,password=yyy
Run Code Online (Sandbox Code Playgroud)
它给了我:
警告:'backup.bat'不被识别为内部或外部命令,可操作程序或批处理文件.
警告:进程'C:\ Windows\system32\cmd.exe'(命令行'')退出,代码为'0x1'.总变化:1(添加0,删除0,更新1,更改0参数,复制0字节)
如果我删除param1并在.bat中对其进行硬编码,它就可以正常工作,所以如果你想知道的话,bat文件没有问题.
我试图指定.bat的完整路径,它仍然不起作用:
Run Code Online (Sandbox Code Playgroud)call "%MSDeployPath%msdeploy" -verb:sync -source:runCommand='c:\backup.bat param1' -dest:auto,computername=10.xx.xx.xx,username=xxx,password=yyy
在这种情况下,它看起来像将路径解释为远程路径,它期望backup.bat在服务器上.我在服务器上移动了backup.bat后确认了这一点
为什么它必须如此坚硬???
我目前正在尝试在生产服务器上启动并运行部署过程.目前我正在使用Web部署和发布配置文件来实现这一点,除了更新连接字符串以适应生产服务器之外,我还能正常工作.
我在用:
msbuild myProj.csproj /p:DeployOnBuild=true;PublishProfile=myProfile;Configuration=Release
Run Code Online (Sandbox Code Playgroud)
创建发布包,以及:
call myProj.deploy.cmd /Y /M:http://myServer/MSDeployAgentService -allowUntrusted /U:user /:Password
Run Code Online (Sandbox Code Playgroud)
所以这是有效的,它打包然后将其发送到服务器,并正确配置IIS,但指向错误的数据库.
我的发布配置文件如下:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<SiteUrlToLaunchAfterPublish />
<MSDeployServiceURL>http://myserver</MSDeployServiceURL>
<DeployIisAppPath>Website</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
<MSDeployPublishMethod>RemoteAgent</MSDeployPublishMethod>
<UserName>user</UserName>
<_SavePWD>True</_SavePWD>
<PublishDatabaseSettings>
<Objects xmlns="">
<ObjectGroup Name="DBContext" Order="1" Enabled="False">
<Destination Path="Data Source=server;Initial Catalog=ProductionDB;User ID=user;Password="password"" Name="" />
<Object Type="DbCodeFirst">
<Source Path="DBMigration" DbContext="myproj.Repositories.DBContext, myproj.Repositories" MigrationConfiguration="myproj.Repositories.Migrations.Configuration, myproj.Repositories" Origin="Configuration" />
</Object>
</ObjectGroup>
<ObjectGroup Name="DefaultConnection" Order="2" Enabled="False">
<Destination Path="Data Source=server;Initial Catalog=ProductionDB;User ID=user;Password="password"" Name="" />
<Object Type="DbDacFx">
<PreSource Path="Data Source=localhost;Initial Catalog=devDB;User ID=user;Password="password"" includeData="False" />
<Source …Run Code Online (Sandbox Code Playgroud) 我有一个ac#网站,我一直通过iis7/webdeploy进行部署,效果很好.问题是当我更新网站时,web.config文件被覆盖.此文件包含数据库连接和其他一些特定于其站点的设置.自发布以来,我一直在通过登录来更新他们的站点,复制web.config,重新运行导入,然后重新处理web.config.我忘记这样做了几次,这让我自己搞砸了,这会给我带来很多额外的工作.但是,现在我正在努力将Web界面作为自动部署的一部分,因此我需要弄清楚它为什么覆盖了网站的当前配置.
有谁知道为什么web.config被覆盖和/或如何修复它所以它不再那样做了?
谢谢!斯科特
我正在使用Windows Azure,并且每次进行一些小的更改时都会发现很难和无用的新"包",并希望在云上进行测试.我听说有机会更新Web角色而无需每次重新部署整个实例(大约15分钟),并进行Web部署 - 只上传修改后的文件(几秒钟).
网上找到的资源似乎都没有描述这种特殊情况.
有关如何 在Azure Web角色上启用 Web Deploy的教程,但没有一个如何设置它的教程.[ 本教程显示的是设置,但不适用于Azure]
azure azure-web-roles webdeploy azure-configuration azure-deployment
我正在使用 Web Deploy 将 Web 应用程序从 Visual Studio 2012 发布到我的目标 IIS 服务器。那里一切都好!
我现在想部署到网络场中的多台服务器(在工作组内)。我制作了一个 Robocopy 脚本,用于在将文件部署到第一个 Web 服务器后通过网络将文件复制到其他主机。我可以手动运行这个 bat 文件没问题,但我想在部署过程中自动化它。
到目前为止,我已经成功地编辑了.pubxml我的 VS 项目中的文件,如下所示。
<ItemGroup>
<MsDeploySourceManifest Include="runCommand">
<Path>robocopy "c:\web1" "\\REMOTEMACHINE\web1" /MIR</Path>
</MsDeploySourceManifest>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
这会运行命令 OK 但在所有文件同步之前。此外,根据发布日志,它运行了两次。在文件同步过程中。
.pubxml只有在所有文件同步后,我才能调整文件以运行该命令?
我在Visual Studio 2013中有一个相当简单的MVC 5项目.我已成功通过Web Deploy设置发布到服务器.我希望从部署中排除某个文件,而不必在每次发布时预览/取消选中它(我正在发布Release版本).
我已经编辑了.csproj项目的文件以包含<ExcludeFilesFromDeployment>标记.
<Project...>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
...
<ExcludeFilesFromDeployment>Library-that-is-not-good-for-server.dll</ExcludeFilesFromDeployment>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
但是当我去VS2013发布时,没有任何改变/文件仍需要取消选中.
我还尝试bin\在库前添加一个,以防万一.更不用说,会弹出一个警告,说明" The element 'PropertyGroup' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003' has invalid child element 'ExcludeFilesFromDeployment' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003'......." 元素
我在能够从部署中排除文件的搜索中找到的Microsoft文档和ExcludeFilesFromDeployment标记http://msdn.microsoft.com/en-us/library/ee942158(v=vs.110).aspx声称说明仅适用于VS2012,部分适用于VS2010.有谁知道VS2013的变化或我做错了什么?
我有一个ASP.NET核心应用程序,在本地运行良好.
但是,当我将站点发布(Web部署)到Azure时,我得到403 : You do not have permission to view this directory or page.
我有一个默认控制器和Startup.cs中定义的路由:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action}/{id?}",
defaults: new { controller = "Home", action = "Index" });
});
Run Code Online (Sandbox Code Playgroud)
Web部署到Azure后的文件夹结构如下所示:
|_ home
|_ site
|_ wwwroot (contains DLL's and files specified through 'publishOptions' in project.json)
|_ wwwroot (the contents of the 'wwwroot' folder I have in Visual Studio)
|_ Views (contains MVC views)
|_ refs (contains referenced …Run Code Online (Sandbox Code Playgroud) 当我发现此.gitignore文件(我一直在使用)中包含.pubxml文件时,我正在通过创建发布配置文件来探索用于部署ASP.NET Web应用程序的选项:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
到处搜索,其理由似乎是对发布配置文件的引用或发布配置文件中的引用包含绝对路径或其他信息,这些信息可能仅在当时的本地开发机器上有效。
谁能证实排除在外的原因?
asp.net version-control web-deployment webdeploy visual-studio-2013
webdeploy ×10
msdeploy ×5
asp.net ×2
azure ×2
msbuild ×2
.net ×1
asp.net-core ×1
c# ×1
deployment ×1
iis-7 ×1
kudu ×1
publish ×1
publishing ×1