san*_*uro 4 .net c# c++ visual-studio
我正在使用Visual Studio 2008 Professional,我需要使用两个项目创建解决方案.一个项目是管理WinForms C#项目,第二个是非托管DLL C++项目.
我在VS2008中创建了它们,在非托管DLL项目中我导出了一个返回一些int的简单函数.在托管的WinForms项目中,我以通常的方式导入DLL并尝试在标签中打印返回的值:
[DllImport("DllProj.dll", EntryPoint = "GetSomeInt", SetLastError = true)]
private static extern int GetSomeInt();
Run Code Online (Sandbox Code Playgroud)
但是当我构建解决方案并运行时,我得到了DllNotFoundException.我还尝试将现有的item(DllProj.dll)添加到WinForms项目中,但它只将该DLL文件从其Debug文件夹复制到WinForms项目的文件夹中,而不是在编译后的项目所在的Debug子文件夹中.所以我还在DllNotFoundException.
我也尝试添加它作为参考,但VS2008抱怨我的DLL不是COM或托管对象.有没有办法以这样的方式配置解决方案,我不需要在每次构建后手动将编译的DLL复制到WinForms项目的Debug子文件夹?
您应该将dll副本添加到post build事件.
见Project properties>Build events>Post build event command line.
| 归档时间: |
|
| 查看次数: |
1357 次 |
| 最近记录: |