Sto tentando di utilizzare svcutil.exe per generare -solo- i contratti di servizio (interfacce) da un insieme di file .wsdl. Quando faccio questo (da un wsdl http hostato), prende gli schemi inclusi e genera tutto il codice per loro.Perché l'opzione/reference di svcutil.exe non funziona?
Grande.
Quello che vorrei davvero piacerebbe fare, però, è quello di utilizzare un insieme di classi già generate dai file schema utilizzando lo strumento xsd.exe (le ragioni di questo non sono importanti, basti dire che ho è necessario avere i tipi in un assembly e i contratti di servizio in un altro). Ho avuto successo nel generare un assembly contenente tutti i tipi.
Il problema si verifica quando si tenta di ottenere svcutil.exe per utilizzare i tipi in tale assembly. La mia linea di comando simile a questa:
svcutil /target:code /noconfig /reference:my_types.dll http://path/to/wsdl
Questo funziona bene, ma il codice generato contiene i duplicati di tutti i tipi nel file my_types.dll. Secondo la documentazione di svcutil.exe, questo è l'esatto problema che il parametro/reference: è destinato a superare. Nel mio caso, tuttavia, non funziona.
Perché?
Questo sembra essere esattamente il motivo. Vorrei che avesse approfondito il motivo per cui questa limitazione esiste, ma comunque grazie per la risposta! – Mark
Avete provato a eseguire manualmente WSDL.exe sul WSDL per generare una classe proxy. Elimina le classi che genera e aggiungi i riferimenti alle tue classi. – Andrew