問題タブ [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.
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ファイルを、同僚のバージョンの同じファイルに置き換えることでした。これで問題は解決しました。他に何が壊れたのかはまだわかりません...
c# - Workflow Foundation 4.5 例外でアクティビティを繰り返す方法
時々例外をスローするアクティビティがあります。成功するまで繰り返したいと思います。Workflow Foundation 4.5 を使用してそれを行うにはどうすればよいですか?
workflow-foundation-4.5 - WF ステート マシンの状態遷移の履歴を保存する
特定のオブジェクトのステート マシンを実装するために .NET 4.5 Workflow Foundation を使用して調査しています。状態間の遷移の履歴をどのように保存できるのだろうか。私は永続性を使用しますが、これは遷移の履歴ではなく現在の状態を追跡するだけであり、最終状態に達すると削除されることを理解しています。
具体的には、次のようなものを探しています。
正確なフォーマットはまだ決定されていませんが、示されているように、これはオブジェクトがどのようにある状態から別の状態に移動したかを示しています。
WFでこれを行うにはどうすればよいですか?
workflow-foundation-4.5 - WF ステート マシンで複数のターミナル ステートを持つことは可能ですか?
WF でステート マシンを使用する方法を学んでいます。複数の終了状態を持つことができるかどうか疑問に思っていますか? ユース ケースは、複数の終了 (最終/最終) 状態の 1 つになる単一の開始状態になります。たとえば、オブジェクトが注文であるとしましょう。エントリの状態は「保留中」になりますが、(いくつかの処理の後) 「出荷済み」または「キャンセル済み」のいずれかの状態になる可能性があります。これは可能ですか、それともステート マシンには 1 つのターミナル ステートが必要ですか?
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
の戻り値もあります。Execute
CodeActivity<..>
EntityTableRelationships
生成される XAML 検証エラーは次のとおりです。
最初は、戻り値を間違って入力したか、同じ名前で別の名前空間にあるインターフェイスを参照していたのではないかと考えていました。これはそうではありません。
私が考えていたもう 1 つの考えは、インターフェイスとしてのDictionary<TKey, TValue>
宣言では、ワークフローが適切に機能しない可能性があるということでした。TKey
これを行うテストケースを作成しましたが、うまくいきました。また、ここで行っているように、そのステップをデザイナーとシーケンスに追加しました。IEdmEntityType
私はそれをとして試しませんでしTKey
たが、なぜ違うべきかについて、私が見ることができる理由はありません。
これの原因は何ですか?どうすれば修正できますか?
編集#1
さらなる調査により、これが原因であることが示されましたDataTable
。DataSet
にも問題があります。これらのタイプに固有であると私が見ることができる唯一のことは、それらが継承するものから継承する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 にバグレポートを提出しました