Pregunta

Tener un problema en el que compilar algún código que haga uso de HttpContextBase está lanzando el error de compilación:

UserService.cs(13,26): error CS0433: The imported type `System.Web.HttpContextBase' is defined multiple times

La línea ofensiva es:

private readonly HttpContextBase httpContext;

Si saco esa línea de código o lo comento, el error desaparece y el ensamblaje se compila.

En otro proyecto (el proyecto de prueba para este) se produce el mismo error al intentar declarar un HttpContextBase pasar al constructor de este objeto. Por lo tanto, parece ser un problema de proyección cruzada.

¿Es este un problema de archivo de proyecto? (No puedo encontrar más de una referencia a System.Web ahí). Se estaba compilando antes de hacer algunos cambios en el AfterBuild Paso, así que me preocupa haber estropeado algo en el archivo csproj.

Esto se está construyendo con Mono 2.10.1, utilizando el conjunto de compilación de la troncal Monodeavelovelopelop para usar XBuild para compilar.

La compilación utilizando el comportamiento de compilación de la copia monódica predeterminada no produce este error.

¿Fue útil?

Solución

Tthe type System.web.httpContextBase se definió en System.web.abstracciones.dll en .NET 3.5 SP1, pero en System.Web.Dll en .NET 4.0. Eso significa que las DLL compiladas con referencias al tipo en System.web.abstracciones.dll serían "se reenvían" a System.web.dll.

Parece que tiene una copia local de System.web.abstracciones.dll en /users/shimms/development/convergence/lib/system.web.abstracciones.dll, probablemente la versión .NET 3.5, que entraría en conflicto con el sistema 4.0. Web.dll.

Otros consejos

Este problema ocurre cuando hace referencia a un tipo que se define en varias clases. Para solucionar esto, puede editar su referencia y desmarcar uno de los DLL que está causando el problema.

Cuando pasea por el error en Visual Studio/Xamarin, mostrará el nombre de múltiples referencias en el que existe este tipo. Simplemente verifique e incluya solo una referencia o clase.

A continuación se muestran la captura de pantalla para su referencia.

enter image description here

Después de solucionar el problema:

enter image description here

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top