本来我的代码运行时都是好用的,但是经过我修改后再调试(修改时只是改了改代码),任何网站都不行了,都是一个错误“签名错误”
{"签名不正确。":"System.Web.Compilation.BuildManager"}
就是新建的一个空网站运行起来都是这个错误,是不是环境本身出问题了,该怎么办啊,急啊,在线等!

解决方案 »

  1.   

    你必须有密钥才可以的
    再AssemlyInfo里面应该有一项是
    [Assembly:AssemblyKeyFile("yourcompany.key")]
    yourcompany.key:你有吗?把它放在CLR能够找到的地方,项目文件的根目录下面
    如果你没有密钥文件,那么这个程序集是不能修改的因为再加载这个程序集合的时候是进行验证的大概步骤是这样:
    1。你编译的时候通过你的私有密钥加密你的程序集:得到一个RSA签名嵌入程序集
    2。在加载的程序记得时候,通过公钥对你的程序集进行解密,与嵌在内部的RSA签名比较
    3。你修改的时候没有得到私有密钥,产生的RSA与加载的时候就不同,也就签名错误。如果验证失败就会报你说的错误了
      

  2.   

    我是个新手,你说的东西我有点不明白,能不能再详细一点介绍一下啊。
    这个问题好像就是出再一个名字是webengine.dll上面,说是签名有问题,
    那是不是在下载一个dll就能好用呢?
      

  3.   

    Webengine.dll是你自己写的dll吗?
    还是人家写的dll,你修改了sourcecode,然后再编译出来的?
      

  4.   

    不知道你现在用的是2005吗?如果是的话 那你在C:\Program Files\Microsoft.NET\Primary Interop Assemblies 文件夹下有webengine.dll这个文件吗?
      

  5.   

    爆破的时候要先把原有的public key去掉,然后生成新的,再把新的加上。
      

  6.   

    没有人了.... -_-"~~~如果你有webengine.dll的源文件
    你把这个项目底下:
    AssemlyInfo.cs中
    这行:[Assembly:AssemblyKeyFile(".....")]
    注释掉
    然后编译
      

  7.   

    TO:
    不知道你现在用的是2005吗?如果是的话 那你在C:\Program Files\Microsoft.NET\Primary Interop Assemblies 文件夹下有webengine.dll这个文件吗?我有2005可是没有这个webengine.dll!对了,你使用Gacutil.exe工具看看能不能把你的dll加入GAC
    start->All Program->microsoft visual studio 2005->visual studio tools->visual studio 2005 command prompt 然后进入你的C:\Program Files\Microsoft.NET\Primary Interop Assemblies 
    GACUTIL /i webengine.dll
    显示什么?
      

  8.   

    我这里也没有这个文件,我也没有删除过任何文件,可是你说的那个AssemlyInfo.cs中
    :[Assembly:AssemblyKeyFile(".....")]我在05里没有找到,我知道03里根目录下面有
      

  9.   

    <your project>/Properties/AssemblyInfo.cs
      

  10.   

    but the file shuld be the assemblyinfo.cs of the project webengine.csprjif there isn't the project, the way is invaild! :P