Propriedades de projeto comuns do MSBuild

A tabela a seguir lista as propriedades usadas com frequência que são definidas nos arquivos de projeto do Visual Studio ou incluídas nos arquivos .targets fornecidos pelo MSBuild.

Os arquivos de projeto no Visual Studio (.csproj, .vbproj, .vcxproj e outros) contêm o código XML do MSBuild que é executado quando você cria um projeto usando o IDE. Normalmente, os projetos importam um ou mais arquivos .targets para definir o processo de build. Para obter mais informações, confira Arquivos .targets do MSBuild.

Ao definir valores de propriedade, tenha em mente que as propriedades comuns podem ser definidas, redefinidas ou usadas em vários arquivos importados. Portanto, importa onde você define uma propriedade – no arquivo de projeto, em Directory.Build.props ou em outro arquivo importado. Se você estiver definindo uma propriedade em algum lugar e não receber o resultado esperado, considere onde e como a propriedade é alterada ou usada em todos os arquivos importados pelo seu projeto, incluindo importações adicionadas implicitamente quando você estiver usando o atributo Sdk. Confira Escolha entre adicionar propriedades a um arquivo .props ou .targets. O pré-processamento pode ajudar com isso (consulte a opção de linha de comando /preprocess ou /pp na referência de linha de comando do MSBuild).

Lista de propriedades e parâmetros comuns

Nome da propriedade ou do parâmetro Tipos de projeto Descrição
AdditionalLibPaths .NET Especifica as pastas adicionais nas quais os compiladores devem procurar assemblies de referência.
AddModules .NET Faz com que o compilador disponibilize todas as informações de tipo dos arquivos especificados para o projeto que está sendo compilado. Essa propriedade é equivalente à opção do compilador /addModules.
ALToolPath .NET O caminho para AL.exe. Essa propriedade substitui a versão atual do AL.exe para habilitar o uso de outra versão.
ApplicationIcon .NET O arquivo de ícone .ico a ser passado para o compilador para inseri-lo como um ícone do Win32. A propriedade é equivalente à opção do compilador /win32icon.
ApplicationManifest Tudo Especifica o caminho do arquivo que é usado para gerar informações de manifesto de UAC (Controle de Conta de Usuário) externo. Aplica-se somente a projetos do Visual Studio destinados ao Windows Vista.

Na maioria dos casos, o manifesto é incorporado. No entanto, se você usar o COM sem registro ou a implantação ClickOnce, o manifesto poderá ser um arquivo externo que é instalado junto com os assemblies de aplicativo. Para saber mais, confira a propriedade NoWin32Manifest neste artigo.
AssemblyOriginatorKeyFile .NET Especifica o arquivo que é usado para assinar o assembly (.snk ou .pfx) e que é transmitido para a tarefa ResolveKeySource a fim de gerar a chave real a ser usada para essa assinatura.
AssemblySearchPaths .NET Uma lista de locais para pesquisa durante a resolução de assembly da referência de tempo de build. É importante notar a ordem em que os caminhos aparecem nesta lista porque os caminhos listados anteriormente têm precedência sobre as entradas posteriores.
AssemblyName .NET O nome do assembly de saída final depois que o projeto é criado.
Nome da propriedade ou do parâmetro Tipos de projeto Descrição
BaseAddress .NET Especifica o endereço básico do assembly de saída principal. Essa propriedade é equivalente à opção do compilador /baseaddress.
BaseIntermediateOutputPath Tudo A pasta de nível superior na qual todas as pastas de saída intermediárias específicas da configuração são criadas. O valor padrão é obj\. O código a seguir é um exemplo: <BaseIntermediateOutputPath>c:\xyz\obj\</BaseIntermediateOutputPath>
BaseOutputPath Tudo Especifica o caminho básico para o arquivo de saída. Quando definido, o MSBuild usa OutputPath = $(BaseOutputPath)\$(Configuration)\. Sintaxe de exemplo: <BaseOutputPath>c:\xyz\bin\</BaseOutputPath>
BuildInParallel Tudo Um valor booliano que indica se as referências do projeto são criadas ou limpas em paralelo quando o MSBuild Multi-Proc é usado. O valor padrão é true, que significa que projetos serão compilados em paralelo se o sistema tiver vários processadores ou núcleos.
BuildProjectReferences Tudo Um valor booliano que indica se as referências do projeto são criadas pelo MSBuild. Definido automaticamente como false quando você cria o projeto no IDE (ambiente de desenvolvimento integrado) do Visual Studio, caso contrário, true. -p:BuildProjectReferences=false pode ser especificado na linha de comando para evitar a verificação de atualização dos projetos referenciados.
Nome da propriedade ou do parâmetro Tipos de projeto Descrição
CleanFile Tudo O nome do arquivo que será usado como o "cache limpo". O cache limpo é uma lista de arquivos gerados para serem excluídos durante a operação de limpeza. O arquivo é colocado no caminho de saída intermediária pelo processo de build.

Essa propriedade especifica apenas os nomes de arquivo que não têm informações de caminho.
CodePage .NET Especifica a página de código a ser usada para todos os arquivos de código-fonte na compilação. Essa propriedade é equivalente à opção do compilador /codepage.
CompilerResponseFile .NET Um arquivo de resposta opcional que pode ser passado para as tarefas do compilador.
Configuração Tudo A configuração sendo criada, que geralmente é Debug ou Release, mas que é configurável nos níveis de solução e projeto.
CscToolPath C# O caminho do csc.exe, o compilador do C#.
CustomAfterMicrosoftCommonTargets Tudo O nome de um arquivo de projeto ou de destinos que deve ser importado automaticamente após a importação de destinos comuns.
CustomBeforeMicrosoftCommonTargets Tudo O nome de um arquivo de projeto ou arquivo de destino a ser importado automaticamente antes da importação de destinos comuns.
Nome da propriedade ou do parâmetro Tipos de projeto Descrição
DebugSymbols Tudo Um valor booliano que indica se os símbolos são gerados pelo build.

A configuração de -p:DebugSymbols=false na linha de comando desabilita a geração de arquivos de símbolo do banco de dados de programa (.pdb).
DebugType Tudo Define o nível de informações de depuração que você deseja que seja gerado. Os valores válidos são "full", "pdbonly", "portable", "embedded" e "none".
DefineConstants .NET Define as constantes de compilador condicional. Os pares de símbolo/valor são separados por ponto e vírgula e são especificados usando a sintaxe dependente de idioma:

C#: symbol1; symbol2

Visual Basic: symbol1 = value1, symbol2 = value2

A propriedade é equivalente à opção do compilador /define.
DefineDebug Tudo Um valor booliano que indica se você deseja que a constante DEBUG seja definida.
DefineTrace Tudo Um valor booliano que indica se você deseja que a constante TRACE seja definida.
DelaySign .NET Um valor booliano que indica se você deseja atrasar a assinatura do assembly em vez de fazer a assinatura completa.
Determinística .NET Um valor booliano que indica se o compilador deve gerar assemblies idênticos para entradas idênticas. Esse parâmetro corresponde à opção /deterministic dos compiladores.
DirectoryBuildPropsPath Tudo Especifica o caminho para o arquivo Directory.Build.props; se definida, essa propriedade substituirá o algoritmo de pesquisa padrão. Confira Personalizar seu build.
DirectoryBuildTargetsPath Tudo Especifica o caminho para o arquivo Directory.Build.targets; se definida, essa propriedade substituirá o algoritmo de pesquisa padrão. Confira Personalizar seu build.
DisableFastUpToDateCheck Tudo Um valor booliano que se aplica somente ao Visual Studio. O gerenciador de build do Visual Studio usa um processo chamado FastUpToDateCheck para determinar se um projeto deve ser recompilado para ficar atualizado. Esse processo é mais rápido que usar o MSBuild para determinar isso. Configurar a propriedade DisableFastUpToDateCheck como true permite ignorar o gerenciador de build do Visual Studio e forçá-lo a usar o MSBuild para determinar se o projeto está atualizado.
DocumentationFile .NET O nome do arquivo que é gerado como o arquivo de documentação XML. Esse nome inclui o nome de arquivo e não tem nenhuma informação de caminho.
Nome da propriedade ou do parâmetro Tipos de projeto Descrição
ErrorReport .NET Especifica como a tarefa de compilador deve relatar erros do compilador interno. Os valores válidos são "prompt", "send" ou "none". Essa propriedade é equivalente à opção /errorreport do compilador.
ExcludeDeploymentUrl .NET A tarefa GenerateDeploymentManifest adiciona uma marca deploymentProvider ao manifesto de implantação se o arquivo de projeto inclui um dos seguintes elementos:

– UpdateUrl
– InstallUrl
– PublishUrl

Entretanto, ao usar ExcludeDeploymentUrl, você poderá impedir que a marca deploymentProvider seja adicionada ao manifesto de implantação, mesmo se qualquer uma das URLs acima for especificada. Para fazer isso, adicione a propriedade a seguir ao arquivo de projeto:

<ExcludeDeploymentUrl>true</ExcludeDeploymentUrl>

Observação: o ExcludeDeploymentUrl não é exposto no IDE do Visual Studio e pode ser definido somete por meio da edição manual do arquivo de projeto. Definir essa propriedade não afeta a publicação no Visual Studio, ou seja, a marca deploymentProvider ainda será incluída na URL especificada por PublishUrl.
FileAlignment .NET Especifica, em bytes, onde alinhar as seções do arquivo de saída. Os valores válidos são 512, 1024, 2048, 4096, 8192. Essa propriedade é equivalente à opção do compilador /filealignment.
FrameworkPathOverride Visual Basic Especifica o local de mscorlib.dll e microsoft.visualbasic.dll. Esse parâmetro é equivalente à opção /sdkpath do compilador vbc.exe.
GenerateDocumentation .NET Um parâmetro booliano que indica se a documentação é gerada pelo build. Se ele for true, o build gerará informações sobre a documentação e as colocará em um arquivo .xml junto com o nome do arquivo executável ou a biblioteca criada pela tarefa de build.
GenerateFullPaths C# Gere caminhos completos para nomes de arquivo na saída usando a opção do compilador -fullpaths.
GenerateSerializationAssemblies .NET Indica se os assemblies de serialização XML devem ser gerados por SGen.exe, que pode ser definido como ativado, automático ou desativado. Essa propriedade é usada para assemblies destinados exclusivamente ao .NET Framework. Para gerar assemblies de serialização de XML para assemblies do .NET Standard ou .NET Core, faça referência ao pacote do NuGet Microsoft.XmlSerializer.Generator.
Nome da propriedade ou do parâmetro Tipos de projeto Descrição
ImportDirectoryBuildProps Tudo Um valor booliano que indica se um arquivo Directory.Build.props deve ser importado. Confira Personalizar seu build.
ImportDirectoryBuildTargets Tudo Um valor booliano que indica se um arquivo Directory.Build.targets deve ser importado. Confira Personalizar seu build.
IntermediateOutputPath Tudo O caminho de saída completo intermediário conforme derivado de BaseIntermediateOutputPath, se nenhum caminho for especificado. Por exemplo, obj\debug\.
KeyContainerName Tudo O nome do contêiner de chave de nome forte.
KeyOriginatorFile Tudo O nome do arquivo de chave de nome forte.
ModuleAssemblyName .NET O nome do assembly ao qual o módulo compilado será incorporado. A propriedade é equivalente à opção do compilador /moduleassemblyname.
MSBuildProjectExtensionsPath Tudo Especifica o caminho em que se encontram as extensões de projeto. Por padrão, isso leva o mesmo valor que BaseIntermediateOutputPath.
MSBuildTreatWarningsAsErrors Tudo Um valor booliano que informa ao MSBuild para tratar todos os avisos como erros, a menos que eles sejam suprimidos.
MSBuildWarningsAsErrors Tudo Especifica uma lista de códigos de avisos a serem tratados como erros. Separe vários avisos por ponto e vírgula. Ao usar a propriedade WarningsAsErrors do SDK do .NET, MSBuildWarningsAsErrors assumirá como padrão o valor de WarningsAsErrors.
MSBuildWarningsAsMessages Tudo Especifica uma lista de códigos de aviso a serem suprimidos tratando-os como mensagens de baixa importância. Separe vários avisos por ponto e vírgula. Observe que alguns avisos emitidos pelo MSBuild não podem ser suprimidos por meio dessa propriedade. Para fazer isso, use a opção de linha de comando -warnAsMessage. Ao usar a propriedade NoWarn do SDK do .NET, o MSBuildWarningsAsMessages assume como padrão o valor de NoWarn.
Nome da propriedade ou do parâmetro Tipos de projeto Descrição
NoLogo Tudo Um valor booliano que indica se você deseja que o logotipo do compilador seja desligado. Essa propriedade é equivalente à opção do compilador /nologo.
NoStdLib .NET Um valor booliano que indica se é necessário evitar a referência à biblioteca padrão (mscorlib.dll). O valor padrão é false.
NoVBRuntimeReference Visual Basic Um valor booliano que indica se o runtime do Visual Basic (Microsoft.VisualBasic.dll) deve ser incluído como uma referência no projeto.
NoWarn .NET Suprime os avisos especificados. Somente a parte numérica do identificador de aviso deve ser especificada. Vários avisos são separados por ponto e vírgula. Esse parâmetro corresponde à opção /nowarn dos compiladores.
NoWin32Manifest .NET Um valor booliano que indica se as informações do manifesto do UAC (Controle de Conta de Usuário) serão inseridas no executável do aplicativo. Aplica-se somente a projetos do Visual Studio destinados ao Windows Vista. Em projetos implantados usando o ClickOnce e o COM sem registro, esse elemento será ignorado. False (o valor padrão) especifica se as informações do manifesto do UAC (Controle de Conta de Usuário) serão inseridas no executável do aplicativo. True especifica se as informações de manifesto de UAC não serão inseridas.

Essa propriedade se aplica somente a projetos do Visual Studio destinados ao Windows Vista. Em projetos implantados usando o ClickOnce e o COM sem registro, essa propriedade será ignorada.

Só é necessário adicionar NoWin32Manifest quando você não deseja que o Visual Studio incorpore informações de manifesto no executável do aplicativo. Esse processo é chamado de virtualização. Para usar a virtualização, defina <ApplicationManifest> em conjunto com <NoWin32Manifest> da seguinte maneira:

– Para projetos do Visual Basic, remova o nó <ApplicationManifest>. (Em projetos do Visual Basic, <NoWin32Manifest> é ignorado quando existe um nó <ApplicationManifest>).
– Em projetos do C#, defina <ApplicationManifest> como False e <NoWin32Manifest> como True. (Em projetos do C#, <ApplicationManifest> substitui <NoWin32Manifest>).
Essa propriedade é equivalente à opção /nowin32manifest do compilador vbc.exe.
Otimizar .NET Um valor booliano que, quando definido como true, permite otimizações do compilador. Essa propriedade é equivalente à opção do compilador /optimize.
OptionCompare VisualBasic Especifica como são feitas comparações de cadeia de caracteres. Os valores válidos são "binary" ou "text". Essa propriedade é equivalente à opção do compilador /optioncompare do vbc.exe.
OptionExplicit Visual Basic Um valor booliano que, quando definido como true, exige a declaração explícita de variáveis no código-fonte. Essa propriedade é equivalente à opção do compilador /optionexplicit.
OptionInfer Visual Basic Um valor booliano que, quando definido como true, habilita a inferência de tipos de variáveis. Essa propriedade é equivalente à opção do compilador /optioninfer.
OptionStrict Visual Basic Um valor booliano que, quando definido como true, faz com que a tarefa de build para impor a semântica de tipo estrito restrinja conversões de tipo implícito. Essa propriedade é equivalente à opção /optionstrict do compilador vbc.exe.
OutDir Tudo Indica o local de saída final do projeto ou da solução. Ao criar uma solução, o OutDir pode ser usado para reunir várias saídas do projeto em um único local. Além disso, OutDir está incluído no AssemblySearchPaths usado para resolver referências. Por exemplo, bin\Debug.
OutputPath Tudo Especifica o caminho para o diretório de saída em relação ao diretório do projeto, por exemplo, bin\Debug or bin\Debug\$(Plataforma) em builds que não são AnyCPU.
OutputType Tudo Especifica o formato do arquivo de saída. Esse parâmetro pode ter um dos seguintes valores:

- Library. Cria uma biblioteca de códigos. (Valor padrão.)
- Exe. Crie um aplicativo de console.
- Module. Cria um módulo.
- Winexe. Cria um programa baseado em Windows.

No C# e no Visual Basic, essa propriedade é equivalente à opção /target. O tipo de saída pode ser substituído automaticamente por inferência. Confira OutputType definido como WinExe para aplicativos WPF e WinForms. Desabilite a inferência definindo DisableWinExeOutputInference como true.
OverwriteReadOnlyFiles Tudo Um valor booliano que indica se você deseja habilitar o build para substituir arquivos somente leitura ou disparar um erro.
Nome da propriedade ou do parâmetro Tipos de projeto Descrição
PathMap .NET Especifica como mapear caminhos físicos para nomes de caminho de origem emitidos pelo compilador. Essa propriedade é equivalente à opção /pathmap dos compiladores.
PdbFile .NET O nome do arquivo .pdb que está sendo emitido. Essa propriedade é equivalente à opção /pdb do compilador csc.exe.
Plataforma Tudo O sistema operacional para o qual você está realizando a criação. Exemplos de builds do .NET Framework são "Any CPU", "x86" e "x64".
ProcessorArchitecture .NET A arquitetura do processador que é usada quando as referências de assembly são resolvidas. Os valores válidos são "msil," "x86," "amd64" ou "ia64".
ProduceOnlyReferenceAssembly .NET Um valor booliano que instrui o compilador a emitir apenas um assembly de referência ao invés do código compilado. Não pode ser usado com ProduceReferenceAssembly. Essa propriedade corresponde à opção /refonly dos compiladores vbc.exe e csc.exe.
ProduceReferenceAssembly .NET Um valor booliano que, quando definido como true, permite a produção de assemblies de referência para o assembly atual. Deterministic deve ser true ao usar esse recurso. Essa propriedade corresponde à opção /refout dos compiladores vbc.exe e csc.exe.
RegisterAssemblyMSBuildArchitecture Somente Windows Especifica a arquitetura padrão para a qual a DLL gerenciada está registrada. Essa propriedade é útil porque o COM usa o Registro do Windows para armazenar os registros em hives específicos da arquitetura. Por exemplo, em um sistema Windows, um assembly gerenciado por AnyCPU pode ter seus tipos registrados no hive de 64 bits e/ou no hive de 32 bits (WoW) e o build usa essa propriedade para determinar qual hive de registro específico de arquitetura usar. Os valores válidos incluem "x86", "x64" e "ARM64."
RegisterForCOMInterop Somente Windows Indica que seu aplicativo gerenciado exporá um objeto COM (um COM callable wrapper). Consulte a página do Build – Seção Saída. Essa configuração afeta apenas o computador no qual o projeto está sendo criado. Se você estiver implantando em outros computadores, chame regasm.exe para registrar o assembly no computador de destino.
RemoveIntegerChecks Visual Basic Um valor booliano que indica se é necessário desabilitar a verificação de erro de estouro de inteiro. O valor padrão é false. Essa propriedade é equivalente à opção /removeintchecks do compilador vbc.exe.
RootNamespace Tudo O namespace raiz para usar ao nomear um recurso inserido. Este namespace é parte do nome do manifesto do recurso inserido.
Nome da propriedade ou do parâmetro Tipos de projeto Descrição
Satellite_AlgorithmId .NET A ID do algoritmo de hash do AL.exe a ser usada quando os assemblies satélites forem criados.
Satellite_BaseAddress .NET O endereço básico para usar quando assemblies satélites específicos da cultura forem criados usando o destino CreateSatelliteAssemblies.
Satellite_CompanyName .NET O nome da empresa a ser passado para o AL.exe durante a geração de assembly satélite.
Satellite_Configuration .NET O nome da configuração a ser passado para o AL.exe durante a geração de assembly satélite.
Satellite_Description .NET O texto de descrição a ser passado para o AL.exe durante a geração de assembly satélite.
Satellite_EvidenceFile .NET Insere o arquivo especificado no assembly satélite que tem o nome do recurso "Security.Evidence".
Satellite_FileVersion .NET Especifica uma cadeia de caracteres para o campo Versão do Arquivo no assembly satélite.
Satellite_Flags .NET Especifica um valor para o campo Sinalizadores no assembly satélite.
Satellite_GenerateFullPaths .NET Faz com que a tarefa de build use o caminho absoluto para todos os arquivos reportados em uma mensagem de erro.
Satellite_LinkResource .NET Vincula os arquivos de recurso especificados a um assembly satélite.
Satellite_MainEntryPoint .NET Especifica o nome totalmente qualificado (ou seja, class.method) do método a ser usado como um ponto de entrada durante a conversão de um módulo em um arquivo executável durante a geração do assembly satélite.
Satellite_ProductName .NET Especifica uma cadeia de caracteres para o campo Produto no assembly satélite.
Satellite_ProductVersion .NET Especifica uma cadeia de caracteres para o campo ProductVersion no assembly satélite.
Satellite_TargetType .NET Especifica o formato de arquivo do arquivo de saída do assembly satélite como "library", "exe" ou "win". O valor padrão é "library".
Satellite_Title .NET Especifica uma cadeia de caracteres para o campo Título no assembly satélite.
Satellite_Trademark .NET Especifica uma cadeia de caracteres para o campo Marca registrada no assembly satélite.
Satellite_Version .NET Especifica as informações de versão do assembly satélite.
Satellite_Win32Icon .NET Insere um arquivo de ícone .ico no assembly satélite.
Satellite_Win32Resource .NET Insere um recurso do Win32 (arquivo .res) no assembly satélite.
SGenToolPath .NET Um caminho de ferramenta opcional que indica o local no qual obter SGen.exe quando a versão atual de SGen.exe é substituída.
Nome da propriedade ou do parâmetro Tipos de projeto Descrição
SGenUseProxyTypes .NET Um valor booliano que indica se os tipos de proxy devem ser gerados por SGen.exe. Isso se aplica somente quando GenerateSerializationAssemblies está definida como ativada.

O destino SGen usa essa propriedade para definir o sinalizador UseProxyTypes. O padrão dessa propriedade é true e não há uma IU para alterar isso. Para gerar o assembly de serialização para tipos não serviço Web, adicione essa propriedade ao arquivo de projeto e defina-a como falso antes de importar o Microsoft.Common.Targets ou o C#/VB.targets.
SkipInvalidConfigurations Tudo Quando true, gere um aviso sobre combinações de plataforma e configuração inválidas, mas não indique uma falha na compilação. Quando false ou indefinido (o padrão), gere um erro.
StartupObject .NET Especifica a classe ou o módulo que contém o método Main ou procedimento Sub Main. Essa propriedade é equivalente à opção do compilador /main.
SubsystemVersion .NET Especifica a versão mínima do subsistema que o arquivo executável gerado pode usar. Essa propriedade é equivalente à opção do compilador /subsystemversion. Para obter informações sobre o valor padrão dessa propriedade, confira /subsystemversion (Visual Basic) ou /subsystemversion (opções do compilador C#).
TargetCompactFramework .NET A versão do .NET Compact Framework necessária para executar o aplicativo que você está criando. Especificar isso permite fazer referência a determinados assemblies de estrutura que pode não ser possível fazer referência de outra forma.
TargetFrameworkVersion .NET A versão do .NET Framework necessária para executar o aplicativo que você está criando. Especificar isso permite fazer referência a determinados assemblies de estrutura que pode não ser possível fazer referência de outra forma.
TreatWarningsAsErrors .NET Um parâmetro booliano que, se true, faz com que todos os avisos sejam tratados como erros. Esse parâmetro é equivalente à opção do compilador /nowarn.
UseCommonOutputDirectory .NET Uma propriedade booliana que você pode definir como true quando quiser que todas as saídas de build em uma solução usem o mesmo diretório de saída. Quando true, a saída dos projetos referenciados não é copiada para os projetos que usam essas dependências, como normalmente acontece quando a configuração é false. Definir esse parâmetro como true não altera o diretório de saída real de nenhum projeto. Ainda é necessário definir o diretório de saída para o diretório de saída comum desejado para cada projeto que o requer.
UseHostCompilerIfAvailable .NET Um parâmetro booliano que, quando true, faz com que a tarefa de compilação use o objeto do compilador em processo, caso disponível. Esse parâmetro é usado apenas pelo Visual Studio.
Utf8Output .NET Um parâmetro booliano que, se true, registra a saída do compilador usando a codificação UTF-8. Esse parâmetro é equivalente à opção do compilador /utf8Output.
Nome da propriedade ou do parâmetro Tipos de projeto Descrição
VbcToolPath Visual Basic Um caminho opcional que indica outro local para vbc.exe quando a versão atual de vbc.exe é substituída.
VbcVerbosity Visual Basic Especifica o detalhamento da saída do compilador do Visual Basic. Os valores válidos são "Quiet," "Normal" (o valor padrão) ou "Verbose".
VisualStudioVersion Tudo Especifica a versão do Visual Studio sob a qual este projeto deve ser considerado para estar em execução. Se essa propriedade não for especificada, o MSBuild a definirá como um valor padrão de {VisualStudioMajorVersion}.0; por exemplo, ela será 17.0 para todas as versões do Visual Studio 2022.

Essa propriedade é usada em vários tipos de projeto para especificar o conjunto de destinos que são usados para o build. Se ToolsVersion é definido como 4.0 ou superior para um projeto, VisualStudioVersion é usado para especificar o subconjunto de ferramentas que será usado. Para obter mais informações, consulte Conjunto de ferramentas (ToolsVersion).
WarningsAsErrors .NET Especifica uma lista de avisos a serem tratados como erros. Esse parâmetro é equivalente à opção do compilador /warnaserror.
WarningLevel Tudo Especifica o nível de aviso a ser passado para os compiladores para avisos emitidos pelo compilador. Essa configuração não afeta os avisos do MSBuild, que não têm designações de nível. Consulte Nível de Aviso na documentação do compilador do C# e /W (Nível de aviso) na documentação do compilador do C++.
WarningsNotAsErrors .NET Especifica uma lista de avisos que não são tratados como erros. Esse parâmetro é equivalente à opção do compilador /warnaserror.
Win32Manifest .NET O nome do arquivo de manifesto deve ser inserido no assembly final. Esse parâmetro é equivalente à opção do compilador /win32Manifest.
Win32Resource .NET O nome do arquivo do recurso do Win32 a ser inserido no assembly final. Esse parâmetro é equivalente à opção do compilador /win32resource.

Propriedades específicas de projetos do SDK do .NET, como TargetFramework, são documentadas em Propriedades da estrutura.

Confira também