テスト ソリューションに問題があります。テストは正常に実行されますが、テストの実行後にクリーニングを行うクラスとメソッドに関しては、基本的に、SQL データベース上のサイトとグループにインデックスを付けているため、sharepoint グループ、サイト、および DB インデックス エントリを削除します。メインからクリーニング メソッドを実行すると、すべてがうまくいきます。代わりに 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.
独自に呼び出された場合、メソッドは問題なく実行されますが、唯一の問題は、クリーンアップ メソッドが呼び出しを行うときです。
ありがとうございました。
psプロジェクトは、SP 2010を搭載したwin 2008でcpuがANYに設定されたフレームワーク3.5で実行されています。
http://msdn.microsoft.com/en-us/library/ee782531.aspxから CPU 実行モードを x64 に変更する指示に従いましたが、まだ何も実行できません。
Error loading C:\Users\Administrator\Documents\WSTests\WSTests\bin\Debug\WSTests.dll: Unable to load the test container 'C:\Users\Administrator\Documents\WSTests\WSTests\bin\Debug\WSTests.dll' or one of its dependencies. If you build your test project assembly as a 64 bit assembly, it cannot be loaded. When you build your test project assembly, select "Any CPU" for the platform. To run your tests in 64 bit mode on a 64 bit processor, you must change your test settings in the Hosts tab to run your tests in a 32 bit process. Error details: Could not load file or assembly
'file:///C:\Users\Administrator\Documents\WSTests\WSTests\bin\Debug\WSTests.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format.