我正在使用VS2013,并且拥有一个C ++项目的解决方案,该项目在同一解决方案中引用来自C#。,dll项目的TLB文件。
我的导入声明
#import "Toolbox.Accessor.tlb" named_guids
在C ++项目中找不到TLB。我得到编译时错误error C1083: Cannot open type library file: 'Toolbox.Accessor.tlb': No such file or directory
虽然我完全理解错误信息,但我不知道该怎么做才能将.TLB文件放到适当的位置,以便C ++编译器可以找到它。
我想在编译时执行此操作,以便从C#项目中提取生成的TLB文件,并在我的构建服务器上运行。
我引用了C#Dll项目作为C ++项目的参考,并在网上搜索了答案,但是唉,到目前为止还没有找到。
答案 0 :(得分:0)
此问题的答案是正确包含“附加包含目录”设置。正如HansPassant在评论中指出的那样......
对我来说,最后的答案是定义一个include目录,如下所示:
$(OutDir)..\..\MyCSharpProject\bin\$(Configuration)
这适用于我的个人开发人员系统和构建服务器,它不会将任何已更改的文件放入原始源文件夹中,而是将它们放在BuildArtifacts文件夹中。