Domanda

Nel processo di compilazione di uno strumento .NET C #, ho usato ILMerge per unire gli assembly in un unico exe.

Di recente ho aggiunto una nuova libreria di classi e ora ILMerge non funziona. Mi sono ricordato di averlo detto di unirmi nella nuova DLL!

Ora mi sta dando questo errore, che non capisco davvero:

  

ILMerge.Merge: l'assembly   "DataObjects" non è stato unito   correttamente. È ancora elencato come   riferimento esterno nel target   assemblaggio.

Tutti i riferimenti di assemblaggio che ho fatto usando riferimenti a "progetti", e non è fallito in passato.

Qualcuno può spiegare questo errore per me o suggerire una soluzione alternativa per favore?

È stato utile?

Soluzione

Ho dovuto usare l'argomento / closed . Secondo i documenti ufficiali :

  

chiuso

     

Se impostato prima di chiamare Merge,   quindi la "chiusura transitiva" del   gli assiemi di input vengono calcolati e aggiunti   all'elenco degli assiemi di input. Un   il montaggio è considerato parte del   chiusura transitiva se lo è   referenziato, direttamente o   indirettamente, da uno degli originali   assiemi di input specificati e ha   un riferimento esterno a uno dei   assiemi di input o uno dei   assemblee che hanno un tale riferimento.   Complicato, ma questa è la vita ...

Altri suggerimenti

Ho ricevuto un messaggio di errore simile quando provavo a pubblicare un'app Web che univa tutti gli output in un singolo assembly:

  

Si è verificato un errore durante l'unione degli assembly: ILMerge.Merge: l'assembly di destinazione si elenca come riferimento esterno.

Questo succede se il nome dell'assembly che stai unendo corrisponde al nome dell'assembly dell'applicazione web in Proprietà > Application . La modifica del nome dell'assembly di output dovrebbe risolverlo.

Ho riscontrato questo errore e indicava il riferimento Microsoft.Xrm.Sdk che stavo unendo nella singola dll. Il problema è stato risolto quando ho impostato un altro riferimento, Microsoft.Xrm.Sdk.Deployment per unire anche nella DLL. La cosa divertente è che in un progetto separato ho avuto la prima fusione di riferimento e la seconda distribuzione non si fondeva & amp; non si lamentava affatto.

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