【问题标题】:How do I specify the name of the assembly created when publishing an ASP.NET Web Site Project?如何指定发布 ASP.NET 网站项目时创建的程序集的名称?
【发布时间】:2010-11-17 12:02:09
【问题描述】:

标题几乎说明了一切。

鉴于 VS2008 中名为 FooDLL 的网站项目,我希望能够指定当我单击“发布网站”时 VS2008 吐出的程序集的名称。我正在使用“使用固定命名和单页程序集”选项,因此生成的 DLL 一致命名的。

但是,我宁愿能够指定 DLL 的名称类似于 FooDLL.dll(或只是 Foo.dll,等等),也不愿被 App_Web_foo.ascx.cdcab7d2.dll 的丑陋所困扰。

我是否因为网站没有 .project 文件(例如,不是项目)而陷入困境?

【问题讨论】:

    标签: asp.net visual-studio-2008 assemblies web-site-project


    【解决方案1】:

    不再继续回答我自己问题的模式,但无论如何:

    我所要做的就是为包含我的用户控件的网站添加一个 Web 部署项目。虽然在构建/发布网站时无法指定程序集名称,但您可以通过 Web 部署项目执行此操作。它基本上只是一个用于 msbuild 项目文件的不错的 GUI……用于网站。万岁将 .project 文件入侵到网站上!

    【讨论】:

    • 您还可以对 Web 部署项目执行许多其他操作,例如删除给定类型的所有文件,或者根据您的解决方案配置(调试、发布)将一个 web.config 替换为另一个等)。
    【解决方案2】:

    ASP.NET 合并工具 (Aspnet_merge.exe) 是您的理想之选。 它将您的 Web 程序集合并为整个网站的一个程序集。

    更多信息: http://msdn.microsoft.com/en-us/library/bb397866.aspx

    【讨论】:

      【解决方案3】:

      我相信你是。

      我不知道使用网站项目有什么好处,虽然使用 Web 应用程序项目的好处很小,但它们确实存在。从现在开始创建 Web 应用程序项目。

      【讨论】:

      • 您可以在 Web 应用程序中使用用户控件,它将构建一个程序集。
      • 我在过去一个月左右的时间里来回讨论这件事。我不想将控件作为用户控件提供(其中 register 指令使用 src 标记),我想将它作为 DLL 提供(其中 register 指令使用程序集标记)。 stackoverflow.com/questions/1161420/…
      • 为此,您需要创建一个 Web 服务器控件。
      • 里面是什么样的项目?一个网络应用项目?这种基本的“我该往哪个方向前进”的文档真的很缺乏。
      • 是的,您可以在 Web 应用程序项目中创建它们,尽管似乎没有它们的模板。但这只是一个与其他课程一样的课程,您可以在整个网络上找到它们的示例。
      【解决方案4】:

      您可以将您的代码编译为类库项目,然后将其放入您网站的 Bin 目录中。

      【讨论】:

      • 我已经尝试过这样做。经过太多天的努力,我得出的结论是,我必须为此使用网站,因为我正在编写用户控件(并将其作为单个程序集提供)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-03
      • 1970-01-01
      • 1970-01-01
      • 2012-09-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多