質問

SPFARM.LOCALオブジェクトがSharePoint 2013のために更新されていない奇妙な問題を経験していますが、2010年の場合は基本的にC#でSharePointソリューションを追加/更新するコードがいくつかあります。解決策が追加され、または展開ジョブが続行されるまでにスレッドが待機しています。

これはコードの単純化されたバージョンです。

var complete = false;
while (!complete)
{
    complete = SPFarm.Local.Solutions[“solutionName.wsp”] != null;
    if (!complete)
        Thread.Sleep(10000);
}
.

SharePoint 2010では、これは完璧に機能します。ただし、2013年にソリューションは絶えずNULLを返します。私は解決策がget-spsolutionを持つ別のPowerShellウィンドウに存在することを確認できますが、このスレッドでは更新されていません。

メインスレッド内のspfarm.localオブジェクトを更新するためにSharePoint 2013を取得する方法についてのアイデアは?

役に立ちましたか?

解決

SP.Update() should work after you add the solution to the farm.

var complete = false;
while (!complete)
{
    complete = SPFarm.Local.Solutions[“solutionName.wsp”] != null;
    if (!complete){
        SPFarm.Local.Update();
        Thread.Sleep(10000);
       }
}
ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top