本来我的代码运行时都是好用的,但是经过我修改后再调试(修改时只是改了改代码),任何网站都不行了,都是一个错误“签名错误”
{"签名不正确。":"System.Web.Compilation.BuildManager"}
就是新建的一个空网站运行起来都是这个错误,是不是环境本身出问题了,该怎么办啊,急啊,在线等!
{"签名不正确。":"System.Web.Compilation.BuildManager"}
就是新建的一个空网站运行起来都是这个错误,是不是环境本身出问题了,该怎么办啊,急啊,在线等!
再AssemlyInfo里面应该有一项是
[Assembly:AssemblyKeyFile("yourcompany.key")]
yourcompany.key:你有吗?把它放在CLR能够找到的地方,项目文件的根目录下面
如果你没有密钥文件,那么这个程序集是不能修改的因为再加载这个程序集合的时候是进行验证的大概步骤是这样:
1。你编译的时候通过你的私有密钥加密你的程序集:得到一个RSA签名嵌入程序集
2。在加载的程序记得时候,通过公钥对你的程序集进行解密,与嵌在内部的RSA签名比较
3。你修改的时候没有得到私有密钥,产生的RSA与加载的时候就不同,也就签名错误。如果验证失败就会报你说的错误了
这个问题好像就是出再一个名字是webengine.dll上面,说是签名有问题,
那是不是在下载一个dll就能好用呢?
还是人家写的dll,你修改了sourcecode,然后再编译出来的?
你把这个项目底下:
AssemlyInfo.cs中
这行:[Assembly:AssemblyKeyFile(".....")]
注释掉
然后编译
不知道你现在用的是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
显示什么?
:[Assembly:AssemblyKeyFile(".....")]我在05里没有找到,我知道03里根目录下面有