ASP.NET运行时错误:无法加载文件或程序集“Interop.CertEnroll”

时间:2012-06-15 15:55:33

标签: asp.net

我有一个ASP.Net 4.0网站,我正在VS2010中进行编辑。每个@ Master和@ Page标签都有蓝色波浪线,给出以下错误:

ASP.NET运行时错误:无法加载文件或程序集“Interop.CertEnroll”或其某个依赖项。试图加载格式不正确的程序。

我知道这与尝试将32位dll加载到64位应用程序有关,但我不知道如何控制它,因为我不确定这个Iterop.CertEnroll客户端是如何被引用的。

我的目标是构建任何CPU。

我的应用程序仍然正常运行,但是看到所有这些警告让我感到困扰,而且我看到这可能导致我的AjaxToolkit服务器标签无法识别的问题。

谢谢! 卡尔

4 个答案:

答案 0 :(得分:0)

我为您发现了this解决方案。由于我无法重现错误,无法确切地说它是否会为您解决错误,但您仍然可以尝试。以下是链接故事的关键所在:

  

如果您针对x86平台而不是任何CPU平台(这使得代码默认在x64系统上针对x64平台运行)进行编译,它将正常工作。

一切顺利!

答案 1 :(得分:0)

确保您正在编译.NET 4而不是.NET 4 Compact Framework。

我不久前遇到了同样的问题,这种缺失依赖。

安装Microsoft Online Services Sign In提供了正确的程序集,但我不确定为什么需要这样做。

编辑:我似乎无法找到指向上述下载的文章。

答案 2 :(得分:0)

这是known bug他们无法解决的问题。您可以尝试建议的解决方法。

答案 3 :(得分:0)

TL; DR:检查您的母版页是否正确指定了ContentPlaceHolder代码,以及您的网页是否有ContentPlaceHolder代码ID正确无误。

答案很长:

对于遇到此问题的任何人,如果其他解决方案不起作用,您可以尝试另外一件事。我收到了相同的错误,所有主标记和页面标记都突出显示错误:

  

无法加载文件或程序集Microsoft.Practices.ServiceLocation,   版本= 1.3.0.0

我的包裹全部有序,我花了很多时间试图让它发挥作用。事实证明错误是错误的,实际错误是我的嵌套母版页中缺少ContentPlaceHolder标签。