2011-01-13 26 views
5

私は確かにこれは基本的な質問ですが、私はここではGoogleのいずれのソリューションも見つかりませんでした。TransactionScope例外例外

イムは、それが 「System.Activities.Statements.TransactionScope」という例外スローそのコードブロックを使用しようとすると:usingステートメントで使用されるタイプは、「System.IDisposable」

using (TransactionScope trans = new TransactionScope()) { }

に暗黙的に変換可能でなければなりませんが

単に、私はLinqコードでTransactionScopeを使用したいと思います。

おかげで、 よろしく

+0

おそらく、プロジェクト参照が正しいタイプ(System.Transactions内)であることを確認することをお勧めしますか? – RobS

答えて

8

間違ったTransactionScopeを使用している可能性があります。

探しているのはSystem.Transactions.TransactionScopeで、これはSystem.Transactions.dllアセンブリにあります。それが参照されていることを確認してください(デフォルトではありません)。あなたは "using System.Transactions"です。

2

あなたは間違っTransactionScopeクラスを使用しています。正しいものはSystem.Transactions名前空間にあります。あなたのエラーは、System.Activities.Statementsの別のクラスを使用していることを示しています。

6

私はSystem.Activities.Statements.TransactionScopeが何であるかは分かりませんが、System.Transactions.TransactionScopeが必要です。また、System.Transactions.dllへの参照が必要です。

public sealed class TransactionScope : IDisposable 

として記述されているSystem.Activities.StatementsSystem.Activities.Statements.TransactionScope生活はSystem.Activities.Statements名前空間は、ワークフローを作成するために使用することができる活動が含まれていること:ドキュメントから

。この名前空間には、フロー制御、コレクションと変数の相互作用、例外、補償、トランザクション、および従来のワークフローとの相互作用に使用されるアクティビティが含まれます。

これは明らかに不適切です。

関連する問題