是否有将所有资源合并到一个exe文件中,例如app.config和相关的DLL?

有些应用似乎会这样做,例如eMule。

我不希望我的app.config坐在那里等待编辑。

由于

有帮助吗?

解决方案

当然,在 Solution Explorer 中(假设Visual Studio在这里,因为你没有提到)右键单击 Properties 您想要包含的文件。

Build Action 应该有一个选项,您可以将其设置为 Embedded Resource

其他提示

您当然可以嵌入资源。转到应用程序属性,然后选择“资源”和“资源”。标签。其中添加的所有资源都将在主二进制文件中。

为什么不让app.config坐在那里等待编辑?许多专业软件包都可以自由编辑配置和ini文件。

哥们, 这就是为什么它是配置文件!它应该允许你改变应用程序的工作方式-d-fly b!

如果您担心不应更改的设置,请尝试其他存储,类,数据库,注册表,平面文件等,或者只是将副本保留在可用于替换搞砸的副本的位置。

合并dll - ILMerge

合并配置文件是不值得的,因为它应该是调整应用程序行为而不重新编译它的方法。如果您不需要 - 只需硬编码所有内容(代码或EmbeddedResources)。

如果您仍然需要可配置性,则可以将文件隐藏到用户个人资料中。

例如,请参阅 http://www.codeproject.com/KB/ CS / SystemConfiguration.aspx

如果您不想更改设置,请将其移至代码而不是配置。

我同意一些用户的意见。它确实击败了“配置”的目的。只需硬编码共享类调用中的所有信息“设置”即可。然后像

那样引用

_serverIP = settings.MailServerIP

应该考虑的唯一项目是helperfiles(与某些内容有关),图像,第三方dll(我不确定这一点)......仅举几例。

.net app.config文件的问题在于修改它们可能会改变应用程序的工作方式。

嵌入资源不是问题,它是我担心的特定文件。

我之前使用过Thinstall作为应用程序虚拟化shrinkwrapper:

https://thinstall.com/help/index.php?_netsupport.htm

这可以满足您的需求,即将所有应用程序的依赖项捆绑到一个exectuable中,包括.configs。

您还可以很好地研究其他软件收缩包装工具。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top