VCCLCompilerTool.EnablePREfast-Eigenschaft
Ruft ab oder legt fest, ob die Analyse von systemeigenem Code aktiviert ist.
Namespace: Microsoft.VisualStudio.VCProjectEngine
Assembly: Microsoft.VisualStudio.VCProjectEngine (in Microsoft.VisualStudio.VCProjectEngine.dll)
Syntax
'Declaration
Property EnablePREfast As Boolean
bool EnablePREfast { get; set; }
property bool EnablePREfast {
bool get ();
void set (bool value);
}
abstract EnablePREfast : bool with get, set
function get EnablePREfast () : boolean
function set EnablePREfast (value : boolean)
Eigenschaftswert
Typ: System.Boolean
true , um die Codeanalyse zu aktivieren (/analyze).
Hinweise
Zusätzliche Optionen können mit der AdditionalOptions-Eigenschaft festgelegt werden.
Hinweis |
---|
/analyze ist in Versionen Enterprise (Team Developer) für x86-Compiler nur verfügbar. |
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie die EnablePREfast und AdditionalOptions-Eigenschaft verwendet, um den /analyze:WX- Schalter anzugeben.(Beide Eigenschaften sind erforderlich.) Angeben /analyze:WX- keine Codeanalysewarnungen bedeutet, dass beim Kompilieren mit /WXals Fehler behandelt werden.Weitere Informationen finden Sie unter /analyze (Codeanalyse).
Um dieses Beispiel auszuführen, geben Sie Folgendes ein, und führen Sie dieses Beispiel wie in Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodellskizziert aus.Klicken Sie dann in der neuen Instanz von Visual Studio, laden Sie ein Visual C++ Projekt, und verwenden Sie den Add-In-Manager, um das Add-In zu aktivieren.
' Add reference to Microsoft.VisualStudio.VCProjectEngine.
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics
Imports Microsoft.VisualStudio.VCProjectEngine
Imports System.Text
Sub EnablePREfastExample(ByVal dte As DTE2)
Dim prj As VCProject
Dim cfgs, tools As IVCCollection
Dim cfg As VCConfiguration
Dim tool As VCCLCompilerTool
Dim sb As New StringBuilder
prj = CType(dte.Solution.Projects.Item(1).Object, _
Microsoft.VisualStudio.VCProjectEngine.VCProject)
cfgs = CType(prj.Configurations, _
Microsoft.VisualStudio.VCProjectEngine.IVCCollection)
cfg = CType(cfgs.Item(1), _
Microsoft.VisualStudio.VCProjectEngine.VCConfiguration)
tool = CType(cfg.Tools("VCCLCompilerTool"), _
Microsoft.VisualStudio.VCProjectEngine.VCCLCompilerTool)
sb.Length = 0
sb.Append("Current project PREfast setting: " _
& tool.EnablePREfast & Environment.NewLine)
sb.Append("Flag: " & tool.AdditionalOptions)
MsgBox(sb.ToString)
' Toggle PREfast setting.
If Not (tool.EnablePREfast = True) Then
' PREfast is not enabled. Turn it and the WX- flag on.
tool.EnablePREfast = True
tool.AdditionalOptions = "/analyze:WX-"
Else
' Toggle the opposite.
tool.EnablePREfast = False
tool.AdditionalOptions = "/analyze:WX"
End If
sb.Length = 0
sb.Append("New project PREfast setting: " _
& tool.EnablePREfast & Environment.NewLine)
sb.Append("Flag: " & tool.AdditionalOptions)
MsgBox(sb.ToString)
End Sub
// Add references to Microsoft.VisualStudio.VCProjectEngine and
// System.Windows.Forms.
using System;
using Extensibility;
using EnvDTE;
using EnvDTE80;
using Microsoft.VisualStudio.VCProjectEngine;
using System.Text;
using System.Windows.Forms;
public void EnablePREfastExample(DTE2 dte)
{
try
{
VCProject prj;
IVCCollection cfgs, tools;
VCConfiguration cfg;
VCCLCompilerTool tool;
StringBuilder sb = new StringBuilder();
prj = (Microsoft.VisualStudio.VCProjectEngine.VCProject)
dte.Solution.Projects.Item(1).Object;
cfgs =
(Microsoft.VisualStudio.VCProjectEngine.IVCCollection)
prj.Configurations;
cfg =
(Microsoft.VisualStudio.VCProjectEngine.VCConfiguration)
cfgs.Item(1);
tools =
(Microsoft.VisualStudio.VCProjectEngine.IVCCollection)
cfg.Tools;
tool =
(Microsoft.VisualStudio.VCProjectEngine.VCCLCompilerTool)
tools.Item("VCCLCompilerTool");
sb.Length = 0;
sb.Append("Current project PREfast setting: " +
tool.EnablePREfast + Environment.NewLine);
sb.Append("Flag: " + tool.AdditionalOptions);
MessageBox.Show(sb.ToString());
// Toggle PREfast setting.
if (!(tool.EnablePREfast == true))
{
// PREfast is not enabled. Turn it and the WX- flag on.
tool.EnablePREfast = true;
tool.AdditionalOptions = "/analyze:WX-";
}
else
{
// Toggle the opposite.
tool.EnablePREfast = false;
tool.AdditionalOptions = "/analyze:WX";
}
sb.Length = 0;
sb.Append("New project PREfast setting: " +
tool.EnablePREfast + Environment.NewLine);
sb.Append("Flag: " + tool.AdditionalOptions);
MessageBox.Show(sb.ToString());
}
catch (System.Exception errmsg)
{
MessageBox.Show("ERROR! " + errmsg.Message);
}
}
.NET Framework-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.
Siehe auch
Referenz
VCCLCompilerTool Schnittstelle
Microsoft.VisualStudio.VCProjectEngine-Namespace