VB.NET 如何防止在可执行文件中嵌入图像

VB.NET how to prevent embedded images in the executable

我正在 VB.NET 应用程序中使用 Visual Studio 2017。

我在我的项目中使用了很多图像,如果我按照我在 Internet 上找到的说明(将图像添加到资源文件)进行操作,可执行文件最终会超过 300MB。这是一个大问题,因为当我想向用户发送更新时,他们必须每次下载 300MB 而不是几 KB,也许还有一些额外的图像。

我希望图像与可执行文件分开存储在同一个文件夹中,但这似乎是不可能的,因为使用资源文件和构建发布版本它们都会在可执行文件中被吃掉。

(请注意,在设计器模块上工作时我需要显示图像,因此无法使用 image.fromfile 通过代码加载它们,这完全符合我的要求)

有人能指出我正确的方向吗?提前致谢。

您可以在同一个解决方案中创建一个单独的 class 库项目。 class 库项目被编译为 DLL。将图像资源包含在此库项目中,并将其作为项目引用添加到主项目中。

如果图片资源没有变化,则不需要重新分发这个DLL。


可以让您在设计时使用这些资源的一个技巧是将附属程序集用于特定于文化的资源(我从未尝试过)。在您的情况下,您将只有单一文化。

参见: