Domanda

Ho scritto un semplice servizio web in C# utilizzando SharpDevelop (che ho appena ricevuto e adoro).

Il cliente lo voleva in VB e fortunatamente c'è una funzione Converti in VB.NET.È ottimo.Tradotto tutto il codice e compilato.(Sono un tipo da "Blocco note" da molto tempo, quindi potrei sembrare un po' vecchio stile.)

Ma ricevo questo errore quando provo a caricare il servizio adesso.

Parser Error Message: Could not load type 'flightinfo.Soap' from assembly 'flightinfo'.

Source Error:

Line 1:  <%@ WebService Class="flightinfo.Soap,flightinfo" %>

Ho eliminato e ricostruito i contenitori e ho cercato su Google (e StackOverflow).Ho analizzato i file di progetto per eventuali resti di C#.

Qualche idea?

È stato utile?

Soluzione

In VB.NET, le dichiarazioni dello spazio dei nomi sono relative allo spazio dei nomi predefinito del progetto.Quindi, se lo spazio dei nomi predefinito per il progetto è impostato su X.Y, tutto il resto Namespace Z E End Namespace sarà nello spazio dei nomi X.Y.Z.In C# devi fornire il nome completo dello spazio dei nomi, indipendentemente dallo spazio dei nomi predefinito del progetto.Pertanto, se il progetto C# avesse lo spazio dei nomi predefinito X.Y, i file CS includerebbero comunque il file namespace X.Y dichiarazione.Dopo la conversione in VB, se sia lo spazio dei nomi predefinito che le dichiarazioni dello spazio dei nomi nei file rimangono gli stessi, ti ritroverai con le classi nello spazio dei nomi X.Y.X.Y.Quindi, nel tuo caso, la classe Soap è ora nello spazio dei nomi flightinfo.flightinfo.Ci sono quindi tre possibili soluzioni:

  • cambia il file asmx in

  • rimuovere lo spazio dei nomi predefinito dal progetto

  • rimuovere le dichiarazioni dello spazio dei nomi dai file vb

Altri suggerimenti

<%@ WebService Class="flightinfo.Soap,flightinfo" %>

Come si chiama la tua classe?

Il problema potrebbe essere causato dai progetti VB.NET e C# che utilizzano convenzioni di denominazione diverse per gli assembly di progetto e dal modo in cui viene utilizzato lo spazio dei nomi del progetto.Almeno è lì che inizierei a cercare.

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