Condividi tramite


Finestra di dialogo Avviso di protezione (file di progetto MSBuild)

Aggiornamento: novembre 2007

In Visual Studio 2005 e nelle versioni più recenti, è possibile personalizzare un file di progetto MSBuild per ridefinire il processo di compilazione. Alcune parti del processo di compilazione definite nel file di progetto vengono eseguite in fase di progettazione, subito dopo il caricamento di un progetto nell'ambiente di sviluppo integrato (IDE). La finestra di dialogo Avviso di protezione rileva i file di progetto personalizzati che potrebbero presentare alcuni rischi per la sicurezza e permette di scegliere la modalità di apertura del progetto nell'ambiente IDE.

Elementi di interfaccia

  • Altri dettagli
    Viene aperta una finestra di dialogo in cui viene spiegato perché il file di progetto è stato identificato come un potenziale rischio per la sicurezza.

  • Carica progetto per esplorazione
    Il progetto viene aperto nell'IDE con un livello di protezione potenziato. Questa opzione permette di scorrere il contenuto del progetto, limitando tuttavia alcune funzionalità, come IntelliSense. Quando un progetto viene caricato per l'esplorazione, alcune azioni come la generazione, la pulizia, la pubblicazione o l'apertura di finestre di progettazione possono ancora non risultare sicure.

  • Carica progetto normalmente
    Il progetto viene aperto normalmente nell'IDE. Utilizzare questa opzione se l'origine è attendibile e si conoscono i potenziali rischi. L'IDE non limita alcuna funzionalità di progetto e non chiederà più conferme all'utente in relazione a questo progetto.

  • Chiedi conferma per ogni progetto in questa soluzione
    Selezionare questa opzione se si desidera ricevere una richiesta di conferma per ogni progetto incluso nella soluzione.

Determinazione di file di progetto non sicuri

Esistono diverse ragioni per identificare un file di progetto come potenziale rischio per la sicurezza. Le ragioni sono le seguenti:

  • Il file di progetto contiene uno o più elementi Import non standard.

  • Il file di progetto esegue l'override di uno o più file targets potenzialmente non sicuri. Per ulteriori informazioni sui file targets, vedere Destinazioni di MSBuild.

  • Il file di progetto esegue l'override di una o più proprietà potenzialmente non sicure. Per ulteriori informazioni sulle proprietà, vedere Proprietà di MSBuild.

  • Il file di progetto esegue l'override di uno o più elementi potenzialmente non sicuri. Per ulteriori informazioni sugli elementi, vedere Elementi MSBuild.

  • Il file di progetto contiene uno o più elementi UsingTask.

  • Gli elementi del progetto sono ubicati in una posizione potenzialmente non sicura.

Elementi Import non standard

Un elenco di file standard.targets viene memorizzato nel Registro di sistema, nel percorso HKEY_LOCALMACHINE\Software\Microsoft\VisualStudio\8.0\MSBuild\SafeImports\. Se un file di progetto importa un file targets non incluso nel registro, il file viene considerato un potenziale rischio per la sicurezza.

File targets potenzialmente pericolosi

Nell'IDE vengono eseguiti vari file targets durante il caricamento di un progetto. Se uno di questi file targets è stato sottoposto a override in un file di progetto personalizzato, viene considerato un potenziale rischio per la sicurezza. I file targets eseguiti nell'IDE durante il caricamento di un progetto comprendono:

  • Compile

  • GetFrameworkPaths

  • AllProjectOutputGroupsDependencies

  • AllProjectOutputGroups

  • CopyRunEnvironmentFiles

  • ResolveComReferences

  • ResolveAssemblyReferences

  • ResolveNativeReferences

Proprietà potenzialmente pericolose

Nell'elenco seguente vengono illustrati i tipi di base delle proprietà potenzialmente pericolose:

  • Le proprietà utilizzate nell'attributo DependsOn di file targets potenzialmente pericolosi.

  • Le proprietà utilizzate negli attributi Project di elementi Import utilizzati in file targets sicuri.

  • Le proprietà utilizzate da file targets potenzialmente pericolosi o dalle rispettive attività.

  • Le proprietà che cominciano con un trattino di sottolineatura (_).

  • Esistono inoltre proprietà speciali utilizzate dall'ambiente IDE per gestire file targets, elementi e proprietà potenzialmente pericolose. Queste proprietà non possono essere sottoposte a override in un file di progetto Di seguito sono elencate le proprietà speciali:

  • LoadTimeSensitiveTargets

  • LoadTimeSensitiveProperties

  • LoadTimeSensitiveItems

  • LoadTimeCheckItemLocation

Elementi potenzialmente pericolosi

Alcuni elementi utilizzati dai file targets importati non possono essere sottoposti a override in un file di progetto. Se uno o più di questi elementi viene sottoposto a override, il progetto viene considerato un potenziale rischio per la sicurezza.

Elementi UsingTask

Un'attività personalizzata che può eseguire codice potenzialmente non sicuro. Tutti i file di progetto che contengono uno o più elementi UsingTask, pertanto, vengono considerati un potenziale rischio per la sicurezza.

Elementi di progetto in percorsi potenzialmente pericolosi

Alcuni elementi contenuti in file targets sicuri utilizzano proprietà del progetto definite dall'utente per l'impostazione dei percorsi. Per impedire a un elemento di sovrascrivere file importanti, i file di progetto che contengono percorsi di elementi che eseguono la valutazione in uno dei seguenti percorsi o in una sottodirectory di tali percorsi vengono considerati potenziali rischi per la sicurezza, a meno che non siano ubicati nella directory del file di soluzione o di progetto o in una sottodirectory di questa.

  • La directory principale di qualsiasi unità.

  • La directory di Windows, ad esempio C:\Windows\.

  • La directory Programmi, ad esempio C:\Programmi\.

Vedere anche

Concetti

MSBuild

Altre risorse

Riferimenti a MSBuild

Concetti relativi a MSBuild