【发布时间】:2013-03-03 01:09:07
【问题描述】:
我遇到的问题似乎与 this one 相同。
我有一个 VS 2008 解决方案,其中包括: (为简单起见更改了名称)
- DLL A:原生 C++,业务逻辑 DLL
- DLL B:DLL A 的 C++/CLI 包装器,命名空间为“Wrapper”
- EXE:一个 C# WinForms GUI EXE 项目,(引用 DLL B)
当我构建 EXE 时,VS 给我一个错误:
error CS0246: The type or namespace name 'Wrapper' could not be found (are you missing a using directive or an assembly reference?)
但是:
- 没有报告其他错误或警告
- EXE 项目中的所有引用似乎都能正确解析
- DLL A 和 DLL B 都在构建时没有错误或警告
- DLL A includes both .h header and .cpp files (that simply include the .h header)
- 我可以毫无问题地遍历对象浏览器中的“Wrapper”命名空间
第一个链接问题提到了“编译器符号的重复定义”,但我不确定在这个意义上要寻找什么。
有什么想法可以尝试吗?
【问题讨论】:
-
您是否从EXE项目中添加了对DLL B项目的引用? (你说所有引用都解决了,但你没有列举“全部”。)
-
@DavidYaw 我想通了——请看我的回答。
标签: c# visual-studio-2008 build c++-cli