这是一个关于我最近遇到的问题以及一个可能的答案(?)的故事。我想分享这些信息,因为我在stackoverflow上找不到。
我将我的解决方案从VS2008、WinXP、32位升级到了VS2010、Win7、64位。
当我对生成新的RESX文件或更新RESX文件的WinForms进行修改时,我遇到了问题。
使用VS2010的调试版本没有问题。但是,对于发布模式,我必须使用延迟签名过程。现在,这个过程会在使用VS2010生成的新RESX文件上产生错误。(请再次注意:旧的RESX文件没有显示此行为)
(CoreResGen target) Search.resx(176,5): error RG0000: Could not load file or assembly xxx.Controls, Version=1.5 0, Culture=neutral, PublicKeyToken=7acfcc7eabace048' or one of its dependencies. Strong name validation failed. (Exce on from HRESULT: 0x8013141A) Line 176, position 5.
以下是我在网上找到的一些信息。
我想知道其他人是否遇到过这个问题,以及他们采用了哪种解决方法? 如果没有解决方法,就只能等待VS2010 SP1的发布。
不幸的是,我正在使用可能已编译为32位的第三方程序集。 (我无法控制它们的构建过程)
-- 2010年8月11日 一些额外的信息。
该控件本身未签名或延迟签名。但该控件正在使用来自延迟签名程序集的组件。两个程序集都在同一个解决方案中。
当我将消费程序集更改为针对4.0框架时,问题得到解决。 当我将其定位到3.5框架时,我们会遇到错误。