C# 使用遗留资源dll';C中的s# 我在一个新的C++应用程序中使用了遗留的、非托管的、资源的C++ DLL。我已经设法使用硬编码的资源编号从dll加载资源

C# 使用遗留资源dll';C中的s# 我在一个新的C++应用程序中使用了遗留的、非托管的、资源的C++ DLL。我已经设法使用硬编码的资源编号从dll加载资源,c#,c++,dll,resources,legacy,C#,C++,Dll,Resources,Legacy,有没有办法使用C#中的资源id来实现这一点 旧的C++代码仍在维护,这意味着资源ID/值可能会改变。这可能导致c代码中的资源编号不正确/无效 我能想到的最好办法是将resource.h文件剪切/粘贴到c#类中,然后进行一些手动搜索/替换,将其格式化为c#类。这必须在每次更改资源文件后进行。有更好的方法吗?我猜你不是问如何加载这些资源,而是问如何保持ID号同步 如果是这样,我建议在定义资源ID的地方有两个头文件。像现在一样使用resource.h处理您不介意向导修改的内容,但引入第二个头文件(例如

有没有办法使用C#中的资源id来实现这一点

旧的C++代码仍在维护,这意味着资源ID/值可能会改变。这可能导致c代码中的资源编号不正确/无效


我能想到的最好办法是将resource.h文件剪切/粘贴到c#类中,然后进行一些手动搜索/替换,将其格式化为c#类。这必须在每次更改资源文件后进行。有更好的方法吗?

我猜你不是问如何加载这些资源,而是问如何保持ID号同步


如果是这样,我建议在定义资源ID的地方有两个头文件。像现在一样使用resource.h处理您不介意向导修改的内容,但引入第二个头文件(例如appresource.h),您可以手动编辑。这样可以确保该文件中的ID永远不会更改。然后,你唯一需要改变C应用程序的时候就是添加新的资源。

< P>如果资源DLL没有被你维护,我会考虑编写一个脚本/工具来完成你所说的,但是自动化(尽可能地)。