2011-01-13 25 views
5

Estoy seguro de que esta es una pregunta tan básica, pero no puedo encontrar ninguna solución en google aquí.TransactionScope arroja la excepción

cuando estoy tratando de utilizar ese bloque de código se genera una excepción que 'System.Activities.Statements.TransactionScope': tipo utilizado en una instrucción using debe ser convertir implícitamente a 'System.IDisposable'

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

Simplemente, quiero usar TransactionScope en código Linq.

Gracias, Saludos

+0

Quizás, será mejor que revise las referencias de su proyecto, asegúrese de que sea el tipo correcto (en System.Transactions)? – RobS

Respuesta

8

Probablemente esté utilizando el TransactionScope incorrecto.

El que está buscando es System.Transactions.TransactionScope, que reside en el ensamblado System.Transactions.dll. Asegúrese de que esté referenciado (no es por defecto) y de que es "using System.Transactions".

2

Está utilizando la clase equivocada TransactionScope. El correcto está en el espacio de nombre System.Transactions. Su error indica que está usando otra clase desde System.Activities.Statements.

6

No sé qué System.Activities.Statements.TransactionScope es pero usted quiere System.Transactions.TransactionScope. También necesitarás una referencia al System.Transactions.dll.

De la documentación:

public sealed class TransactionScope : IDisposable 

Tenga en cuenta que System.Activities.Statements.TransactionScope vidas en System.Activities.Statements que se describe como

El System.Activities.Statements espacio de nombres contiene actividades que pueden ser utilizados para crear flujos de trabajo. Este espacio de nombres contiene actividades que se utilizan para controlar el flujo, interactuar con colecciones y variables, excepciones, compensaciones, transacciones e interactuar con flujos de trabajo heredados.

que claramente no es apropiado.

Cuestiones relacionadas