2013-03-20 19 views
41

Sto cercando di impostare una DLL fa riferimento in modo esplicito da copiare alla mia cartella locale però quando vado alle proprietà per questo riferimento, la proprietà Copy Local è in grigio/disabilitato.Perché la proprietà Copia localmente per il mio riferimento disattivato?

Disabled Copy Local property

Di solito i miei progetti VB.NET hanno una voce My Project direttamente sotto il nome del progetto, che posso fare doppio clic su >> riferimenti e impostare la proprietà Copy Local, comunque la mia applicazione C# console non sembra avere questo .

My Project References

ho io forse configurato in modo non corretto il mio progetto? Qualsiasi aiuto su questo sarà molto apprezzato.

+11

Change'Embed Interop Types' false. – Peter

risposta

67

Directly from this SO post:

Il tuo commento a Hans risposta indica che questo è un gruppo di COM e che si utilizza Visual Studio 2010.

Ciò significa il riferimento assemblea fu probabilmente aggiunto con il "Incorpora Interop Tipi "impostazione impostata su true. Questo ha l'effetto di collegamento tra il gruppo COM nel vostro binario eliminando la necessità di distribuirlo del tutto. Il seguente link ha una spiegazione più dettagliata • http://msdn.microsoft.com/en-us/library/dd409610.aspx Se si usa si desidera distribuirlo anche se poi sarà necessario fare quanto segue • Fare clic su il riferimento nella scheda riferimenti • Hit F4 per visualizzare la griglia delle proprietà • Impostare " embed Interop tipi" false (questo sarà ungray copia locale) • impostare 'copia locale' true

Se si desidera copiare locale, è necessario impostare Embed Interop Types-False per l'assemblaggio, nel tuo caso, Microsoft.Office.Interop.Excel . Incorpora tipi di interoperabilità rende la distribuzione più semplice per gli assembly COM in quanto incorpora gli assembly all'interno dell'assieme, eliminando la necessità di distribuire gli assembly di interoperabilità con l'applicazione.

Problemi correlati