【问题标题】:Building Release Version of a C# application构建 C# 应用程序的发布版本
【发布时间】:2013-03-15 21:28:41
【问题描述】:

在 Visual Studios 中构建我的 C# 应用程序的发布版本时,它还生成了一个 .config 和一个 .manifest 文件。我想知道这些是什么以及它们对应用程序的实际运行是否重要。

【问题讨论】:

  • 不,它们不是必需的。您可以在安装了目标 .NET Framework 的任何 Windows 计算机上运行该应用程序。
  • 但是那些是干什么用的?调试目的?

标签: c# visual-studio versioning


【解决方案1】:

阅读:

什么是清单文件:

清单是一个 XML 文档,可以是外部 XML 文件,也可以是嵌入在应用程序或程序集中的资源。独立应用程序的清单用于管理应用程序在运行时应绑定到的共享并行程序集的名称和版本。并行程序集的清单指定其对名称、版本、资源和其他程序集的依赖关系。

如何控制:

默认情况下,新项目的项目属性设置为生成一个 清单文件。但是可以禁用清单的生成 对于使用项目的 Generate Manifest 属性的项目。当这 属性设置为 Yes,生成此项目的清单。否则 链接器在解析依赖项时忽略程序集信息 应用程序代码,并且不生成清单。

Visual Studio 中的构建系统允许将清单嵌入到最终版本中 二进制应用程序文件,或作为外部文件生成。这种行为是 由“项目属性”对话框中的“嵌入清单”选项控制。 要设置此属性,请打开 Manifest Tool 节点,然后选择 Input and Output。 如果清单未嵌入,则将其生成为外部文件并保存 在与最终二进制文件相同的目录中。如果清单是嵌入的, Visual Studio 嵌入最终清单。

取自here

另外,您可以从这里控制它。 Project Properties>>Application tab

【讨论】:

    【解决方案2】:

    .config

    此文件可以包含有关您的目标框架的信息。在此文件中还存储有应用程序范围的设置变量。

    .manifest

    此文件可以包含有关您的应用程序的信息。您可以在此处定义您的应用程序需要管理员权限。

    【讨论】:

      【解决方案3】:

      .manifest 文件很重要,因为它存储了有关您的应用程序的重要元数据。但是请注意,清单不是绝对必需的,您只需要注意删除它的潜在副作用。来自MSDN

      每个程序集,无论是静态的还是动态的,都包含一组数据,这些数据描述了程序集中的元素如何相互关联。程序集清单包含此程序集元数据。程序集清单包含指定程序集的版本要求和安全标识所需的所有元数据,以及定义程序集范围和解析对资源和类的引用所需的所有元数据。程序集清单可以存储在带有 Microsoft 中间语言 (MSIL) 代码的 PE 文件(.exe 或 .dll)中,也可以存储在仅包含程序集清单信息的独立 PE 文件中。

      还可以将清单嵌入程序集本身,这样您就只有一个文件要分发。

      .config 文件可以在使用 Visual Studio 的某些功能时存储重要信息。它们通常用于存储解决方案中.settings 文件中指定的设置。但是,如果您不知道这些文件是什么,那么您就不太可能使用这些功能。

      【讨论】:

        【解决方案4】:

        是的 重要的是,就像您正在启动应用程序的新版本并更新现有设置一样,此功能仅有助于识别系统上安装的应用程序的当前版本,并且在此基础上只有您可以更新了。

        【讨论】:

          猜你喜欢
          • 2021-01-25
          • 2023-01-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-07-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多