【问题标题】:Web Deployment Projects tool in VS 2008VS 2008 中的 Web 部署项目工具
【发布时间】:2010-10-22 09:53:35
【问题描述】:


当我们安装 Web 部署项目工具时,我们还可以选择在 VS 2008 中使用它。通过选择属性页,我们会看到几个用于配置编译选项的选项。弹出的属性页对话框之一被命名为输出程序集。它为我们提供了以下选项:


* 将所有输出合并到单个程序集

我假设这个选项不会编译标签文件?!


* 将所有页面和控制输出合并到一个程序集中

现在这个选项与 Merge all outputs to single assembly 有什么不同?起初我以为这个选项也预编译标记文件,但是为什么输出还包含 aspx 文件,如果它们是已经预编译了?!


* 为每个页面创建单独的程序集并控制输出

我以为这个选项也编译了 aspx 页面,但是如果它们已经预编译,为什么输出还包含 aspx 文件?!


感谢

【问题讨论】:

  • 您的问题是什么?你在征求意见吗?选项说明?

标签: c# .net asp.net assemblies


【解决方案1】:

这只是 aspnet_merge 工具的前端,带有不同的开关,the MSDN doc explains the options and what they do。

【讨论】:

    【解决方案2】:

    这是 Scott Gu 博客中关于 Web Deployment Projects 的非常好的教程。它对您描述的选项以及更多内容进行了很好的解释。例如:
    (来源:scottgu.com)
    默认选项是将整个网站合并到一个程序集中,您可以随意命名。这会将所有页面/控件编译、app_code 和 Web 服务的输出合并到一个程序集中(留下一个文件进行部署)。

    您还可以选择其他选项来更精细地控制程序集生成。例如,上面的第二个选项允许您将网站中的每个文件夹编译为单独的命名程序集(例如:MyCompany.MyWebApp.Folder1、MyCompany.MyWebApp.Folder2)。这对于修补大型应用程序非常有用,您希望仅对网站的一部分进行战术更新。

    如果您的 app_code 目录中有一个 AssemblyInfo.cs/.vb 类,则部署项目将使用它包含的元数据来对生成的程序集进行版本控制。或者,您也可以在 IDE 中专门设置版本信息。这反过来将其保存为项目文件中的 MSBuild 变量。您可以选择使用自定义 MSbuild 任务在构建时动态设置此变量(例如:使用我们在 Microsoft 所做的策略,其中内部版本号基于当前日期)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-22
      • 2023-03-06
      • 2010-09-18
      • 2012-05-19
      • 1970-01-01
      相关资源
      最近更新 更多