Domanda

Avere un problema in cui compilare un codice che si utilizzo HttpContextBase sta lanciando l'errore di compilazione:

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

La linea offensiva è:

private readonly HttpContextBase httpContext;

Se prendo quella riga di codice o lo commento, l'errore scompare e l'assemblaggio compila.

In un altro progetto (il progetto di test per questo) si verifica lo stesso errore quando si tenta di dichiarare a HttpContextBase passare al costruttore di questo oggetto. Quindi sembra essere un problema incrociato.

È un problema di un file di progetto? (Non riesco a trovare più di un riferimento a System.Web lì dentro). Si stava compilando prima di apportare alcune modifiche al AfterBuild Passaggio, quindi sono preoccupato di aver incasinato qualcosa nel file CSPROJ.

Questo si sta costruendo con mono 2.10.1, utilizzando la build del tronco MonoDevelop per utilizzare XBuild per compilare.

La compilazione utilizzando il comportamento di build MonoDevelop predefinito non produce questo errore.

È stato utile?

Soluzione

The type system.web.httpContextBase è stato definito in System.Web.Abstractions.dll in .NET 3.5 SP1, ma in System.web.dll in .NET 4.0. Ciò significa che le DLL compilate con riferimenti al tipo in System.Web.Abstractions.dll verrebbero "Tipo inoltrate" a System.web.dll.

Sembra che tu abbia una copia locale di System.web.abstractions.dll in /users/shimms/development/convergence/lib/system.web.abstractions.dll, probabilmente la versione .NET 3.5, che sarebbe in conflitto con il sistema 4.0. Web.dll.

Altri suggerimenti

Questo problema si verifica quando si fa riferimento a un tipo definito in più classi. Per risolvere questo problema puoi modificare il tuo riferimento e deselezionare uno dei DLL che sta causando il problema.

Quando si libra sull'errore in Visual Studio/Xamarin, visualizzerà il nome di riferimenti multipli in cui esiste questo tipo. Basta controllare e includere un solo riferimento o classe.

Di seguito sono riportati lo screenshot per il tuo riferimento.

enter image description here

Dopo aver risolto il problema:

enter image description here

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top