C# 由于以下错误,接收检索CLSID为{}的组件的COM类工厂失败:80040154。运行测试类清理时

C# 由于以下错误,接收检索CLSID为{}的组件的COM类工厂失败:80040154。运行测试类清理时,c#,unit-testing,sharepoint,sharepoint-2010,code-cleanup,C#,Unit Testing,Sharepoint,Sharepoint 2010,Code Cleanup,我的测试解决方案有问题。测试运行得很好,但是当涉及到在测试运行后执行清理的类和方法时,基本上是删除sharepoint组、站点和DB索引项,因为我正在为SQL数据库上的站点和组编制索引。 如果我从主管道上运行清洁方法,一切都会顺利进行。 当我从ClassCleanup调用方法时,问题开始了: [ClassCleanup()] public static void MyClassCleanup() { DelSphere.delGroups(SPHEREID

我的测试解决方案有问题。测试运行得很好,但是当涉及到在测试运行后执行清理的类和方法时,基本上是删除sharepoint组、站点和DB索引项,因为我正在为SQL数据库上的站点和组编制索引。 如果我从主管道上运行清洁方法,一切都会顺利进行。 当我从ClassCleanup调用方法时,问题开始了:

    [ClassCleanup()]
    public static void MyClassCleanup()
    {
        DelSphere.delGroups(SPHEREID);
        DelSphere.delSites(SPHEREID);
    }
这些方法一直执行到委托:

    public static void delGroups(long sphereId)
    {

        using (SupportDB DB = new SupportDB())
        {
            var gruppi = (from grp in DB.Gruppo where grp.Sfera.PK_Sfera == sphereId select grp).ToList();
            var id = (from sphere in DB.Sfera where sphere.PK_Sfera == sphereId select sphere).ToList();

            var SC = GetSCfromSphere(id.First().PK_Sfera);
            try
            {
            Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(delegate()
                {
                    using (SPSite scSite = new SPSite(SC.SiteCollectionUrl))
                    {
                        foreach (var grp in gruppi) .....
在这一点上,我得到一个异常:

    Retrieving the COM class factory for component with CLSID {BDEADF26-C265-11D0-BCED-00A0C90AB50F} failed due to the following error: 80040154.
当单独调用该方法时,该方法可以完美地运行,唯一的问题是清理方法何时进行调用

多谢各位

p、 该项目是在3.5框架上运行的,cpu设置为ANY,使用SP 2010实现win 2008


我按照指示将cpu执行模式从更改为x64,但仍然无法运行任何操作

加载C:\Users\Administrator\Documents\WSTests\WSTests\bin\Debug\WSTests.dll时出错:无法加载测试容器“C:\Users\Administrator\Documents\WSTests\WSTests\bin\Debug\WSTests.dll”或其依赖项之一。如果将测试项目程序集生成为64位程序集,则无法加载该程序集。构建测试项目程序集时,请为平台选择“任意CPU”。若要在64位处理器上以64位模式运行测试,必须在“主机”选项卡中更改测试设置以在32位进程中运行测试。错误详细信息:无法加载文件或程序集

'file:///C:\Users\Administrator\Documents\WSTests\WSTests\bin\Debug\WSTests.dll'或其依赖项之一。试图加载格式不正确的程序。
将CPU设置为x64,然后重试

您的测试单元运行程序需要在64位模式下执行。我按照将cpu执行模式从更改为x64的说明进行了操作,但仍然无法运行任何内容。是的,我的意思是,我停止了接收令人讨厌的初始错误,但仍然无法理解为什么即使将执行更改为64位模式,它也无法执行。@cad,这一切都是值得的干杯