- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 ASP.NET 3.5 Web 应用程序项目。我想将其中的大部分部署到我的 Web 服务器,但我想将 CSS、图像和 JavaScript 部署到第二个“图像服务器”。
如何使用 Web Deploy 或什至 Visual Studio 2010 及更高版本的“发布”功能执行此操作?
有人问我试过什么。我没有尝试过任何东西,因为我不知道有什么可以尝试的。
过去我在 web 部署方面做了一些认真的工作。我什至使用 Web Deploy 来部署非 Web 应用程序,方法是将适当的目标手动添加到项目文件中。我有 MSBUILD 书(“Inside the Microsoft® Build Engine: Using MSBuild and Team Foundation Build”,作者 Sayed Ibrahim Hashimi 和 William Bartholomew)和 Supplement ,并知道如何执行诸如将不在项目中的额外文件添加到 MSDEPLOY 包、添加文件夹和设置访问保护等操作。
我不知道如何从一个项目中制作两个包,然后将这两个包部署到两个单独的服务器上。
这是我可以尝试的两件事。在我(是的,专家)看来,两者都不值得花时间。我很高兴有人告诉我我错在哪里。
Visual Studio 中的发布配置文件不仅包括有关发布哪些文件和发布到哪个目的地的信息;它还包括要构建和部署的解决方案配置。我可以
ItemGroup
上放置条件包含内容的元素。实际上,单个项目将变成两个项目,具体取决于解决方案配置。我不必说明每次向项目添加新项目时都必须手动编辑项目文件是多么不切实际。 最佳答案
这应该像创建两个不同的发布配置文件一样简单,“PackageApplication”和“PackageContent”,都是“Web Deploy Package”配置文件。
那么这只是定义 ExcludeFromPackageFiles
的问题你不想要的东西。PackageApplication.pubxml
看起来像这样:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>Package</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<DesktopBuildPackageLocation>package\Application.zip</DesktopBuildPackageLocation>
<PackageAsSingleFile>true</PackageAsSingleFile>
<DeployIisAppPath />
<PublishDatabaseSettings>
<Objects xmlns="" />
</PublishDatabaseSettings>
</PropertyGroup>
<ItemGroup>
<ExcludeFromPackageFiles Include="**/*.js" />
<ExcludeFromPackageFiles Include="**/*.css" />
</ItemGroup>
</Project>
PackageContent.pubxml
看起来像:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>Package</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<DesktopBuildPackageLocation>package\Content.zip</DesktopBuildPackageLocation>
<PackageAsSingleFile>true</PackageAsSingleFile>
<DeployIisAppPath />
<PublishDatabaseSettings>
<Objects xmlns="" />
</PublishDatabaseSettings>
</PropertyGroup>
<ItemGroup>
<ExcludeFromPackageFiles Include="**/*.dll;**/*.pdb" />
<ExcludeFromPackageFiles Include="**/*.cshtml" />
<ExcludeFromPackageFiles Include="**/*.aspx;**/*.asax" />
<ExcludeFromPackageFiles Include="**/*.config" />
</ItemGroup>
</Project>
.deploy.cmd
脚本),您可以将它们部署到您的两个 Web 服务器上。
/t:Clean;Build
在您的命令行中。
关于asp.net - 如何在 Web 和图像服务器之间拆分 Web 应用程序的部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21055744/
我是一名优秀的程序员,十分优秀!