2010-09-05 13 views
9

Sto lavorando su un assieme che gestisce varie trasformazioni di colore. Quando carico l'assembly in un nuovo progetto da testare, se si verifica un errore nell'assembly, Visual Studio apre il codice incriminato dalla DLL. Posso scorrere tutto il codice nell'assembly.Perché riesco a eseguire il debug del mio assieme?

io sicuramente non voglio il codice per essere così facilmente visibile/disponibili. Vorrei che il codice fosse un po '"bloccato" nell'assemblaggio.

Come posso impostare la DLL di gettare semplicemente una sorta di errore, invece di apertura?

Modifica

Io non sono interessato al codice di essere "sicuro" e non ho bisogno di offuscare. Questa libreria viene utilizzata internamente e il codice stesso è perfettamente accessibile per i tohers. Quello che non voglio è che qualcuno che usa la libreria si ritrovi improvvisamente a fare il debug sull'assemblaggio. Se c'è un problema, preferisco che venga generato un errore anziché l'apertura del codice assembly in Visual Studio.

+0

È piuttosto semplice: non spedire i file del codice sorgente insieme alla DLL. –

+0

Cosa c'è di sbagliato nel condividere il codice? :( – alternative

+0

Non c'è niente di sbagliato nel condividere il codice.In questo caso particolare, vorrei mantenere il codice un po 'privato. –

risposta

15

Questo accade perché avete VS installato sulla macchina, e poiché si sta distribuendo i file PDB - non sarà possibile ottenere questa finestra di dialogo se VS non è installato.

Inoltre:

  • Non distribuire il codice che è stato costruito nella configurazione Debug. Questi contengono informazioni aggiuntive che aiutano con il debug.
  • Assicurarsi di non distribuire i file PDB con i file eseguibili. Come sopra, e non sono necessari per eseguire il codice.

Entrambi questi vi aiuterà, ma qualsiasi assemblea sarebbe facilmente decompilato con riflettore, così si potrebbe anche voler indagare obfuscators per fermare altri programmatori di vedere facilmente il vostro codice.

+0

Grazie, ci proverò ora, non sto certamente cercando di offuscare il mio codice come so che può essere facilmente decompilato, ma sto cercando di mantenere le cose pulite e in ordine per chiunque usi la libreria e non c'è bisogno che qualcuno faccia leva sulla DLL (a meno che non sia la loro intenzione principale). –

2

Quello che vi serve è quello di nascondere i binari.

0

In sostanza, se si desidera che il codice per essere sicuro e non volete le vostre classi sono esposti ad altri, si dovrebbe sicuramente bisogno di offuscare il codice.

per offuscare il codice è possibile utilizzare Dotfuscator, è incluso con l'installazione di Visual Studio.

controllare il mio articolo su di esso. http://www.codeproject.com/KB/dotnet/code_security.aspx

Problemi correlati