构建C#应用程序的发行版本

时间:2013-03-26 06:54:55

标签: c# visual-studio versioning

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

4 个答案:

答案 0 :(得分:2)

阅读本文:

什么是清单文件:

  

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

如何控制它:

  

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

  

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

取自here

另外,你可以从这里控制它。 Project Properties>>Application tab   enter image description here

答案 1 :(得分:1)

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

  

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

也可以将清单嵌入到程序集本身中,这样您只需要分发一个文件。

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

<强>的.config

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

<强> .manifest的

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