是这样的,我以前一直做VC的。
最近一个项目有一部分是C#开发的,所以刚开始做C#。
遇到一些问题,向大家请教。问题1:
有一个程序A,还有一个动态库B。
A引用了B。我把A,B放在一个solution里。编译,执行都没有问题。
但是当我调试动态库B的时候,VS提示不能命中断点。
说B模块没有加载。
这个问题怎么解决?问题2:
每次我重新编译B的时候,A工程里面引用B的地方就
显示一个感叹号。然后引用的属性里面路径变成了空。
是我哪里设置问题吗?问题3:
语法问题
// 数据到达代理
// int dataLen :指令数据的长度
// byte[] content:指令内容
public delegate void DataReceivedDelegate(int dataLen, byte[] content);// 数据到达事件
public event DataReceivedDelegate onDataReceived;这个接口什么意思啊? 我怎么实现这个接口?谢谢

解决方案 »

  1.   

    不能命中断点,是没有pdb文件或者pdb文件不是最新的吧;
    你引用的时候,引用项目,不要引用某个dll
      

  2.   


    // 一个委托的声明
    public delegate void DataReceivedDelegate(int dataLen, byte[] content);
    // 一个事件的声明
    public event DataReceivedDelegate onDataReceived;
      

  3.   

    “每次我重新编译B的时候,A工程里面引用B的地方就显示一个感叹号。”
    你把动态库删掉,重新加入到项目里面就可以了。
      

  4.   

    A引用了B.应该以项目的方式引用,而不是用browe的方式。
      

  5.   

    把b.dll放到a所在项目,然后添加引用b
      

  6.   

    关于委托和事件,我发现一篇不错的文章。
    分享给大家:
    http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-in-CSharp.aspx