問題タブ [workflow-foundation-4.5]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
5382 参照

c# - Workflow Foundation 4.5 「式アクティビティ タイプ 'CSharpValue`1' を実行するには、コンパイルが必要です。」

私は WF45 の入門チュートリアルに取り組んでいますが、他の人が経験したように見える問題に遭遇しましたが、私が経験しているものとは異なります。他の誰かが私に解決策を持っていることを願っています。

チュートリアルを進めていくと、ワークフロー ホストから実行する必要があるまでは問題ありません。その時点で、ワークフローのインスタンス化は失敗し、次のメッセージが返されます。

「式アクティビティ タイプ 'CSharpValue`1' を実行するには、コンパイルが必要です。ワークフローがコンパイルされていることを確認してください。」

Windows Workflow Foundation (WF45) - Getting Started Tutorialからソースをダウンロードしようとしましたが、ステップを見逃したのにエラーが解決しない場合があります。

オンラインで読むと、C# 式が埋め込まれたワークフローに準拠する必要があるようですが、私が理解しているように、VS2012 とワークフロー デザイナーを使用すると、デフォルトでこれが発生しますか? ここにある CompileExpressions メソッドを実装しようとしましたが、役に立ちませんでした。プレリリース バージョンでは、C# 式がこの問題を引き起こしたにもかかわらず、VB プロジェクトが機能するという問題があったことを読みました。これをテストすると、まさにこのケースに苦しんでいることがわかります。VB チュートリアルは正常に実行されますが、C# バージョンはこの例外で失敗します。

さらにあえて言いますが、これは同僚のマシンの問題ではないので、私のマシンの構成の問題だと思います...

更新と回避の修正:

それで、私は問題を解決することができましたが、私は解決策に満足していません.

私の修正は、 \Framework\v4.0.30319フォルダーにあるMicrosoft.Common.targetsファイルを、同僚のバージョンの同じファイルに置き換えることでした。これで問題は解決しました。他に何が壊れたのかはまだわかりません...

0 投票する
1 に答える
281 参照

c# - Workflow Foundation 4.5 例外でアクティビティを繰り返す方法

時々例外をスローするアクティビティがあります。成功するまで繰り返したいと思います。Workflow Foundation 4.5 を使用してそれを行うにはどうすればよいですか?

0 投票する
1 に答える
309 参照

workflow-foundation-4.5 - WF ステート マシンの状態遷移の履歴を保存する

特定のオブジェクトのステート マシンを実装するために .NET 4.5 Workflow Foundation を使用して調査しています。状態間の遷移の履歴をどのように保存できるのだろうか。私は永続性を使用しますが、これは遷移の履歴ではなく現在の状態を追跡するだけであり、最終状態に達すると削除されることを理解しています。

具体的には、次のようなものを探しています。

正確なフォーマットはまだ決定されていませんが、示されているように、これはオブジェクトがどのようにある状態から別の状態に移動したかを示しています。

WFでこれを行うにはどうすればよいですか?

0 投票する
1 に答える
269 参照

workflow-foundation-4.5 - WF ステート マシンで複数のターミナル ステートを持つことは可能ですか?

WF でステート マシンを使用する方法を学んでいます。複数の終了状態を持つことができるかどうか疑問に思っていますか? ユース ケースは、複数の終了 (最終/最終) 状態の 1 つになる単一の開始状態になります。たとえば、オブジェクトが注文であるとしましょう。エントリの状態は「保留中」になりますが、(いくつかの処理の後) 「出荷済み」または「キャンセル済み」のいずれかの状態になる可能性があります。これは可能ですか、それともステート マシンには 1 つのターミナル ステートが必要ですか?

0 投票する
2 に答える
966 参照

c# - この型割り当てエラーは、WCF または Windows Workflow Foundation 4.5 のバグですか?

Windows Workflow Foundation 4.5 WCF ワークフロー サービス アプリケーションがあります。Dictionary<IEdmEntityType, DataTable>からa を返そうとしていCodeActivity<Dictionary<IEdmEntityType, DataTable>>ます。コードでコンパイル時エラーは発生しませんが、XAML はコンパイルに失敗します。

私の XAML の関連部分は次のようになります。

戻り値をダンプしようとしているシーケンスの変数宣言があります。代入しようとしている変数は と呼ばれEntityTableRelationshipsます。

に割り当てられたからOutArgumentの戻り値もあります。ExecuteCodeActivity<..>EntityTableRelationships

生成される XAML 検証エラーは次のとおりです。

これは私がデザイナーで見るものです

最初は、戻り値を間違って入力したか、同じ名前で別の名前空間にあるインターフェイスを参照していたのではないかと考えていました。これはそうではありません。

私が考えていたもう 1 つの考えは、インターフェイスとしてのDictionary<TKey, TValue>宣言では、ワークフローが適切に機能しない可能性があるということでした。TKeyこれを行うテストケースを作成しましたが、うまくいきました。また、ここで行っているように、そのステップをデザイナーとシーケンスに追加しました。IEdmEntityType私はそれをとして試しませんでしTKeyたが、なぜ違うべきかについて、私が見ることができる理由はありません。

これの原因は何ですか?どうすれば修正できますか?

編集#1

さらなる調査により、これが原因であることが示されましたDataTableDataSetにも問題があります。これらのタイプに固有であると私が見ることができる唯一のことは、それらが継承するものから継承するMarshalByValueComponentことTypeConverterAttributeです。これTypeConverterは、XAML シリアル化バインダーに影響を与え、問題を引き起こしている可能性があるため、WF 4.5 のバグを示しています。しかし、これがバグだと言うのはためらわれます。

デザイナー経由で WF 4.5 に渡すことはできないDictionary<TKey, DataTable>ようです。

編集#2

と関係がある場合とない場合があるようですDataTable。また、通り過ぎることもできませんDictionary<IEdmEntityType, object>

System.Data以外のクラスで問題を再現するためにSystem.Object、新しいワークフロー プロジェクトを作成しました。

独自のインターフェイス、クラス、および構造体を作成して、再び壊れる原因となるものがあるかどうかを確認しました。

を使用する代わりに、次のように定義されたものIEdmEntityTypeを作成しました。IMyInterface

MyStruct構造体はうまくいきました。これは定義です:

MyClassクラスはうまくいきました。これは定義です:

MyClassComplex自動プロパティとへの参照objectも機能しました。

私も当初は と の共通属性に関係があるのではないかと考えていたDataTableのでDataSet、 に追加しましたMyClassComplexが、それでも問題なく動作しました。

さらに、私はMyClassComplexから継承しMarshalByValueComponent、奇妙な相互作用はなく、エラーもありませんでした。

この同じプロジェクトを使用して、変数を に設定し、 を に変更しただけでDictionary<IMyInterface, DataTable>、元の非テスト プロジェクトと同じエラーが発生しました。CodeActivity<IMyInterface, MyClassComplex>CodeActivity<IMyInterface, DataTable>

編集#3

これをテストし、別のプロジェクトと同僚のマシンで問題を再現しましたが、これが機能しない理由をサポートするドキュメントがないため、MS Connect にバグレポートを提出しました