我有一个使用托管C ++ DLL的C#应用程序,而后者依赖于某些本机DLL。本机DLL位于子目录中。在应用程序加载托管DLL之前,它将PATH环境变量设置为包含子目录,以便可以加载DLL。这很好。
但是ReSharper现在将我对托管DLL的所有引用标记为红色。这是(我认为)因为Resharper无法加载托管DLL,因为它无法找到它依赖的本机DLL。
所以你可以解决这个问题吗?一些想法:
- 一种解决方案是在系统范围内修改PATH环境变量。但路径需要根据配置(调试/发布)而有所不同。因此切换配置需要关闭VS,更改PATH并重新启动VS.不太实际......
- 我可以在批处理脚本中设置PATH,然后启动VisualStudio。我需要两个(一个用于Release,一个用于Debug)。好一点但仍然不太实用。不知怎的,它不起作用,不知道为什么。 Resharper不会从VS继承环境变量吗?
- 将调试和发布(子)目录都包含在系统PATH中,并为DLL使用不同的名称,因此加载了正确的名称。可行,但DLL来自第三方,重命名它们都是我想避免的。
还有其他想法吗?