SharePoint Designer ワークフローを編集しても、SharePoint サイトで更新されないように見えるのはなぜですか?
-
11-09-2019 - |
質問
SharePoint Designer でワークフローを作成し、保存すると準備完了となり、期待どおりに動作します。ただし、後で SPD で編集するためにワークフローを開いた場合、非常に大規模なワークフローに変更を加えて保存できます。SharePoint サイトでは、このワークフローの新しいバージョンとして表示されますが、新しい変更は反映されません。それに合わせて作られました。
たとえば、リストに新しい項目が作成されたときに電子メールが送信されるだけの単純なものをテスト用に作成しました。正常に動作します。ただし、電子メールの本文に項目の検索を追加し、ワークフローを再度保存して、リストに新しい項目を作成すると、期待どおりに電子メールの本文に新しい項目の検索が表示されず、空の電子メールが表示されます。
SharePoint のワークフロー更新に何らかのタイマーはありますか?ここで何かが足りないのでしょうか?
解決
SharePoint Designer の場合、このソリューションは Dave のソリューションと似ています。
SharePoint Designer はサーバーから DLL のローカル コピーを保存しているようで、すべてが正常に見えますが、これによりワークフローの更新が妨げられます (これはカスタム アクティビティが関係している場合ですが、質問では言及されていませんでした)。
この問題を解決するには:
- SharePoint デザイナーを閉じる
に行く
%LOCALAPPDATA%\Microsoft\WebsiteCache
または、古いバージョンの Windows の場合:
C:\Documents and Settings\%USER%\Local Settings\Application Data\Microsoft\WebSiteCache
次のいずれかを削除します (現時点でのイライラ度に応じて 1 つを選択してください)。
- すべてのフォルダー。
- 「あなたのサイトに最も似ている」フォルダー (複数の可能性があります:
site
,site(1)
, 、など、ルート サイトではなく、最下位レベルのサイトである必要があります) - そのフォルダー内の関連する DLL。
- SharePoint Designer を起動し、ワークフローを再度保存すれば問題ないはずです。
他のヒント
Visual Studio ベースのワークフローでのみ、まったく同じ問題が発生しました。そこで私は件名をスワイプして MSFT TechNet フォーラムに駆け寄り、質問しました。同時に、私は自分自身で何が起こっているのかを理解しようとしてバタバタしていました。
試行錯誤 (たくさんのエラー) を経て、私は (友人の多くの助けを得て) 最終的に、壊れているのは Visual Studio であるという事実に気づきました。ここに、Visual Studio でワークフローをデバッグするときの「既知の問題」へのリンクがあります。
connect.microsoft.com/VisualStudio/フィードバック/ViewFeedback.aspx?FeedbackID=389923&wa=wsignin1.0 (新規ユーザー様、許可されるリンクは 1 つだけです!)
フォーラムに投稿して助けを求め、その後の解決策を求めました (熱意が高すぎますが、この組み合わせを実行するとうまくいきました。その後、もっと簡単な手順があることに気づきました。)
これが SPD でも同じかどうかはわかりませんが、将来この問題に遭遇した人の助けになれば幸いです。私の現在の回避策は次のとおりです。
- Visual Studio をシャットダウンする
- C:\Documents and Settings\Administrator\Local Settings\Application Data\Microsoft\VisualStudio\9.0\ProjectAssemblies からファイルを削除します。
- Visual Studioを再起動します
ワークフロー デザイナー画面でワークフローを変更するたびに、これを行う必要があります。VS 2008 は、コードを追加するだけであれば、適切な場所を選択してデバッグできるように見えますが、コード内のブレーク ポイントでデバッガーに異常を見つけた場合は、上記の手順を繰り返します。
非常に奇妙な。以前のバージョンのワークフローをリストから削除してみましたか?
ワークフローを更新した後、古いインスタンスを削除します。リストまたはライブラリ内:
- 「設定」をクリックします
- 「ワークフロー設定」をクリックします
- 「ワークフローの削除」をクリックします
- すべての「以前のバージョン」項目の [削除] 列の下にあるラジオ ボタンを選択します。
注意してください, 古いバージョンのワークフローを削除すると、ワークフロー履歴 (ある場合) も削除され、現在実行されている古いバージョンのワークフローも削除されると確信しています。