我有一个C#winform应用程序。它处理一些声音效果。
我想知道是应该将它们嵌入资源,还是将它们放在应用程序目录中的文件夹中。
我不想让我的应用程序的用户惹他们。这就是为什么我不想把它们放在文件夹里,但我也认为有一个问题。它们的总大小约为150 Mig,所以如果我要让它们嵌入,这个大小会影响我的应用程序的性能吗?
如果是这样的话,在ZIP文件中压缩它们真的有帮助吗?
这个问题没有正确的答案,但这是我的0.02美元。
我认为你应该把它们分开,不要担心用户会弄乱它们。如果它们从不更改真的很重要,请对文件进行哈希并存储哈希,然后在更改时抛出错误。将它们包含在二进制文件中可能对性能没有帮助,可能会影响加载时间,但这会使exe变得更大,更难更新和部署。
您不应该在exe中嵌入150MB的声音文件
假设你将使用Windows安装程序(MSI),将文件包括在安装程序中,你可以在调试模式和发布模式下播放文件:
string file = @"C:TFSDevProjectbinDebugMetallica.resources";
file = file.Replace("binDebug",string.Empty);
file = file.Replace(".resources",".mp3");
System.Diagnostic.Process.Start(file);
注意:资源扩展(而不是mp3等),所以用户不知道如何打开它们,除非他们做二进制分析。
如果您使用ClickOnce部署,请执行类似的操作。
更新应用程序时,请不要包含媒体文件。。。