当前位置: 首页 > 编程语言 > C#

C#-我需要清单文件吗?

时间:2023-04-11 01:38:37 C#

C#-我需要清单文件吗?我很好奇是否需要发布应用程序时创建的两个清单文件。当我删除它时它会起作用。在需要它们的情况下,我尝试嵌入(项目>应用程序>使用默认设置嵌入清单),但它们仍然是外部的。它们是:(appname).exe.manifest和(appname).application。清单文件描述应用程序将如何运行。来自MSDN:每个程序集(无论是静态的还是动态的)都包含一组数据,这些数据描述了程序集中的元素如何相互关联。程序集清单包含此程序集元数据。程序集清单包含指定程序集的版本要求和安全身份以及定义程序集的范围和解析对资源和类的引用所需的所有元数据。程序集清单可以存储在带有Microsoft中间语言(MSIL)代码的PE文件(.exe或.dll)中,或者存储在仅包含程序集清单信息的独立PE文件中。所以删除它们可能是错误的,特别是如果您希望您的应用程序默认在Vista及更高版本上运行。下面是MSDN中使用mt工具在应用程序中嵌入清单的详细信息。还要注意一个非常有趣的问题,即缓存清单在Vista及更高版本中看起来是一个真正的问题。另外,回到使用VS2003的时候,你想让控件看起来更像XP界面,manifest将包含相应版本6.x的常用控件,它适用于你的应用程序,然后GUI得到一个“nice更新“XP的外观和感觉”,而不是旧的笨拙的Windows2000控件。因此,您可以将清单作为资源嵌入,这样您就不必使用清单文件(好吧,它是一个非常小的文件)但是,它使应用程序分发更干净。此外,.NET1.1运行时中存在一个错误(现在已针对2.0+修复),如果您在应用。当时的解决方法是在执行Application.Run(newform());之前调用Application.DoEvents;现在,对于Vista和Win7,清单用于指定提升的权限以绕过UAC,最大限度地减少Vista/Win7必须弹出UAC对话框的机会。其目的是指定程序集的版本要求和安全标识,以及定义程序集范围和解析对资源和类的引用所需的所有元数据。以上是C#学习教程:C#-DoIneedamanifestfile?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: