C++调用C#的dll文件的另一个问题,急!!!

lgdcwj 2003-07-14 09:36:12
加精
我用C#写了如下一个简单的.dll文件,存为TestForDll1.dll
程序如下:
using System;
namespace TestForDll1
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class TestForDll
{
private int result ;
public TestForDll()
{
result = 0;
}
public TestForDll(int a , int b)
{
result = 0;
result = a + b;
}
public int Out()
{
return result;
}

}
}
有用C++.net 创建一个工程,程序如下:
#include <iostream.h>
#using <TestForDll1.dll>
#using <mscorlib.dll>
using namespace System;
using namespace TestForDll1;
void main()
{
int i = 0;
TestForDll *a = new TestForDll(1,2);
i = a->Out();
cout<<"the result is"<<i<<endl;

}
并且将C#编写的TestForDll1.dll拷到这个工程的文件夹下,生成文件时很正常,
但运行时,出现错误"未处理的“System.IO.FileNotFoundException”类型的异常出现在 未知模块中
其他信息:找不到文件或程序集名称“TestForDll1”,或找不到它的一个依赖项。"
用编写过程我确信C++.net工程已经找到了TestForDll1.dll文件并且找到了她的namespace 、class 、method 等元素,但运行时为什么会出现错误???
请不吝赐教!!!
谢谢!!!
...全文
284 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lgdcwj 2003-07-16
  • 打赏
  • 举报
回复
不好意思,还是老毛病,编译通过了,运行时找不到TestForDll.dll 或依赖项
ckacka 2003-07-15
  • 打赏
  • 举报
回复
注意,我把那个.dll还是编译成TestForDll.dll的
你自己改回来
ckacka 2003-07-15
  • 打赏
  • 举报
回复
如果你用托管方式,那么尽量就用.NET Frameworks提供的一切可用的类库
不过用老方法也可以,这里是代码:

#using <TestForDll.dll>
#using <mscorlib.dll>
using namespace System;
using namespace TestForDll1;

#include <iostream>
using namespace std;

int main()
{
int i = 0;
TestForDll *a = new TestForDll(1,2);
i = a->Out();
cout << "the result is " << i << endl;

system("pause");
return 0;
}
ckacka 2003-07-14
  • 打赏
  • 举报
回复
呵呵,又被我看到了,^)^

64,662

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧