Specifica di una dipendenza non.NET in Visual Studio
-
02-07-2019 - |
Domanda
Sto chiamando una dll non.NET dal mio progetto usando P / Invoke, nel senso che il .dll deve essere sempre presente nella directory .exe.
Esiste un modo per dire a Visual Studio di questa dipendenza, in modo che copierà automaticamente la DLL nella directory di output durante la compilazione e includerà automaticamente la DLL nella configurazione? O devo farlo manualmente?
Soluzione
Puoi copiare / collegare questo / i file al progetto e nelle finestre delle proprietà imposta " Build Action " a " Nessuno " e " Copia nella directory di output " a " Copia se più recente " oppure " Copia sempre " ;.
Oppure puoi utilizzare un " Eventi pre-compilazione " & Amp; " Eventi post-build " dove puoi specificare qualsiasi script batch.
Preferisco la seconda opzione, perché in questo modo è più flessibile della prima.
Inoltre puoi modificare un file MSBuild e aggiungere un'attività per copiare i file.
Altri suggerimenti
Puoi semplicemente aggiungere il .DLL al tuo progetto.
Seleziona il riquadro Proprietà
per quel file e imposta Crea azione
su Contenuto
e Copia nella directory di output
su Copia se più recente
.
Penso che un problema con l'aggiunta di un .DLL al progetto sia che potrebbero essere necessarie diverse versioni di una DLL per build di debug e release. Penseresti di poter aggiungere al file sia le versioni di debug che quelle di rilascio della DLL e, in base alle configurazioni, escludere quella inappropriata, ma non sono riuscito a trovare un modo per farlo. Sto usando Visual Studio 2010. Sono sicuro che ha funzionato ai vecchi tempi con VS6.