我是初学者在学习NVelocity是出现:
未能加载文件或程序集“NVelocity, Version=1.1.1.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
NVelocity.dll 有正常引用
是发布后出现这个原因吧?可能是因为你的NVelocity程序集没有拷贝到bin目录下导致发布后的程序集找不到,需要设置你引入程序集的属性 “复制本地”=true ;或手动拷贝到bin目录下
这个也是正常的。
我在控制台应用程序下可以正常输出,在页面上就报错了。
@lodic15: 已经确定你发布的程序集已经包含在bin目录下了哇?
其实这个情况我认为是:web主项目(发布的项目)引用了A程序集,A程序集引用了NVelocity并且设置了 “复制本地”=true ,但这里只是复制到了A程序集的bin目录下,并没有复制到web主项目的bin下面,可以手动复制到发布的web项目的bin目录下。
还有个情况就是,你发布是分开发布的,可以认为是打补丁的方式,这样会存在些旧程序集可能因为元数据与被引用的程序集不对应造成“它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配”这个问题,可以通过重新编译整个web项目再发布解决
@滴答的雨:
谢谢你的热心。 问题解决了!
我则才突然想到会不会是项目名称的问题呢?因为我项目名就是NVelocity,我查阅了相关文档,设置也没有问题。 于是新建了一个项目,一切正常。
有引用这个DLL吗
有的。
@lodic15:
DLL的版本是不是1.1.1.0的
@Rich.T:
版本也对