之前项目运行一切正常,后来想到保护自己的dll,所以想添加强名称,我自己的项目dll添加后没报错,但我项目中引用了几个其他公司开发的dll没有强名称,我添加强名称倒是成功了,但是重新引入项目编译的时候报错,报错如下错误 1 类型“DWindow.ConnControl”在未被引用的程序集中定义。必须添加对程序集“Itp.DWindow, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null”的引用。 E:\TClient\Trs\Login.cs 24 13 错误 2 “DWindow.ConnControl”不包含“UserName”的定义,并且找不到可接受类型为“DWindow.ConnControl”的第一个参数的扩展方法“UserName”(是否缺少 using 指令或程序集引用?)
E:\TClient\Trs\Login.cs 25 49 ....
我代码中都已经using了啊,而且项目的引用文件都还在原来的地方,一点编译就报错。
求教高手!

解决方案 »

  1.   

    当然不行了,强命名要求其依赖的也需要是强命名的才可以。所以你的dll不能做成强命名的,除非使用到的其他dll也是强命名的。这个是基本要求,否则就乱了。
      

  2.   


    谢谢,如果我的dll不弄成强命名,我现在只是混淆了我自己的dll文件,这样的保护作用大吗?
    另外,我把别个公司的dll(原来是没有强名称的),我也给他们添加了强名称,也显示添加成功了啊, 还是无法编译?小弟对这些东西了解不多,还望高手指点。谢谢!!!
      

  3.   

    MSDN就是最好的参考资料了。你已经混淆了代码就有一定的作用了,最大限度的减少public的内容。