2008-09-30 61 views
2

有没有办法将所有资源合并到一个单独的exe文件中,例如app.config和关联的DLL?.NET Winforms部署

一些应用程序似乎做到了这一点,如eMule。

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

感谢

我以前也使用过Thinstall作为一个应用程序虚拟化热收缩

回答

5

当然,在Solution Explorer(假设Visual Studio在这里,因为你没有提到)Right-clickProperties你想包括的文件。

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

2

你当然可以嵌入资源。转到应用程序属性并选择“资源”选项卡。所有添加的资源都将在主要的二进制文件中。

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

0

如果您不希望更改设置,请将它们移动到代码而不是配置中。

0

我同意某些用户。它真的打破了“配置”的目的。只要硬编码在一个共享一流的呼叫“设置”,所有的信息,然后引用类似

_serverIP = settings.MailServerIP

应该考虑的唯一的项目是helperfiles(其中涉及到的东西,每说)图像,第三方DLL(我不确定这个)......仅举几例。

0

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

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

+0

然后您可能不明白资源是如何工作的。你可以使用资源来代替你的app.config。就这么简单。 – 2008-09-30 05:12:00

1

Dude, 这就是为什么它是一个配置文件!它应该可以让你改变应用程序的工作方式!

如果您担心您的设置不应该改变,请尝试其他存储空间,类别,数据库,注册表,平面文件等,或者只保留一个可用于替换已损坏设备的副本。

1

合并的DLL - ILMerge

合并配置文件是不值得的,因为它应该是的方式来调整应用程序行为,而无需重新编译它。如果你不需要,只需硬编码一切(代码或EmbeddedResources)。

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

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