1

我有一个 C# winform 应用程序。它处理一些声音效果。

我想知道是否应该让它们嵌入资源或将它们放在应用程序目录的文件夹中。

我不希望我的应用程序的用户惹恼他们。这就是为什么我不想将它们放在文件夹中,而且我认为还有一个问题。它们的总大小约为 150 Migs,所以如果我要将它们嵌入,那么这个大小会影响我的应用程序的性能吗?

如果是这样,将它们压缩成 ZIP 文件真的有帮助吗?

4

2 回答 2

2

对此没有正确答案 - 但这是我的 0.02 美元。

我认为你应该把它们分开,如果用户把它们弄乱了也不用担心。如果他们永远不会更改真的很重要,请对文件进行哈希并存储哈希,然后如果他们更改则抛出错误。将它们包含在二进制文件中可能不会提高性能 - 并且可能会损害您的加载时间,但它会使您的 exe 变得更大,并使其更难以更新和部署。

于 2012-08-01T00:24:39.290 回答
1

您不应该在 exe 中嵌入 150MB 的声音文件!

假设您将使用 Windows Installer (MSI),将文件包含到安装程序中,您可以在调试模式和发布模式下播放文件:

string file = @"C:\TFS\DevProject\bin\Debug\Metallica.resources";
file = file.Replace("\bin\Debug\",string.Empty);
file = file.Replace(".resources",".mp3");
System.Diagnostic.Process.Start(file);

注意:资源扩展名(而不是 mp3 等),所以除非他们进行二进制分析,否则用户不会知道如何打开它们。

如果您使用 ClickOnce 部署,请执行类似的操作。

更新您的应用程序时不要包含媒体文件...

于 2012-08-01T00:27:16.353 回答