.CSPROJ

Arquivo CSPROJ

C# Project File
Fazer uma pergunta
RESPOSTA RÁPIDA

Um arquivo CSPROJ é um arquivo de projeto C# - um arquivo XML criado pela Microsoft que informa ao sistema de compilação como compilar um projeto C#: quais arquivos de origem incluir, quais pacotes NuGet usar e qual versão do .NET visar. Ele não contém código-fonte. Abra-o no Visual Studio, VS Code com o C# Dev Kit, ou JetBrains Rider, ou compile a partir de um terminal com o .NET SDK gratuito (dotnet build). Para apenas lê-lo, qualquer editor de texto funciona.

Desenvolvedor: Microsoft Categoria: Arquivos de Desenvolvedor Padrão aberto MIME: application/xml
ABRE EM Windows macOS Linux
Relacionado: .DO · .MD · .HEX · .XSD

Nesta página

19k+ extensões indexadas
Última revisão em Jun 28, 2026

Não tem certeza do que é seu arquivo?

Arraste qualquer arquivo para o nosso identificador - lemos apenas os primeiros bytes para nomear o formato.

Identificar um arquivo

O que é o formato de ficheiro CSPROJ?

Arquivos com a extensão .csproj são arquivos de projeto C# pertencentes à categoria de arquivos de desenvolvedor.

O que os arquivos .csproj contêm?

O conteúdo dos arquivos .csproj inclui configurações de compilação para projetos escritos em C#. Eles são gerados pelo Microsoft Visual Studio ou pelas ferramentas de linha de comando do .NET SDK quando um novo projeto é criado. As seguintes informações podem ser encontradas em arquivos .csproj:

  • nome do projeto e tipo de saída (executável ou biblioteca de classes),
  • referências a arquivos de projeto, dependências de pacotes NuGet (<PackageReference>) e outras referências de projeto,
  • parâmetros de compilação e framework de destino (ex: net9.0 ou net48),
  • metadados de assembly, como números de versão e informações do autor.

O conteúdo dos arquivos .csproj é escrito usando marcação XML. Projetos modernos usam o formato compacto estilo SDK, introduzido com o .NET Core e Visual Studio 2017, que abre com <Project Sdk="Microsoft.NET.Sdk"> e geralmente tem apenas algumas linhas - os arquivos de origem .cs são detectados automaticamente via globbing implícito. Projetos legados mais antigos (anteriores a 2017) usam um formato mais detalhado com uma declaração de namespace xmlns="http://schemas.microsoft.com/developer/msbuild/2003" explícita e listam cada arquivo de origem individualmente.

Para que servem os arquivos .csproj?

Com arquivos .csproj, é possível armazenar todos os parâmetros de compilação de projetos frequentemente muito complexos - que podem consistir em centenas de arquivos de origem e dependências externas - em um único documento. O mecanismo de compilação MSBuild (ou o comando CLI dotnet build) lê o .csproj para compilar o projeto. As informações nos arquivos .csproj também garantem um comportamento consistente em diferentes máquinas e ambientes de CI, eliminando a necessidade de fornecer parâmetros de compilação a cada vez. Um ou mais projetos .csproj são agrupados por um arquivo de solução (.sln ou o mais novo .slnx).

Note que o .csproj em si não contém código-fonte - todo o código C# reside nos arquivos .cs separados que ele referencia.

Posso abrir arquivos .csproj?

Arquivos .csproj são gerados automaticamente após selecionar a opção de criar um novo projeto. Como são escritos em XML, até mesmo o editor de texto mais simples, como o Notepad, é suficiente para visualizá-los ou editá-los. No entanto, vale lembrar que a sintaxe XML pode ser implacável - sem uma necessidade clara, modificações manuais em arquivos .csproj são desencorajadas. Alterações precipitadas em seu conteúdo podem levar a inconsistências entre os elementos do projeto, resultando em problemas ao abrir o projeto no Visual Studio ou em outras ferramentas de desenvolvimento.

Segurança e proteção

RISCO: MEDIUM

O arquivo .csproj em si é XML puro e inofensivo para leitura. O risco real é o que acontece quando você COMPILA ou RESTAURA: um projeto C# pode executar alvos do MSBuild, scripts pré/pós-compilação, restauração de pacotes NuGet (que podem executar scripts de instalação), geradores de código e o código compilado ao depurar/executar - portanto, abrir um projeto não confiável e clicar em Build/Run pode executar código arbitrário. O Visual Studio mostra um aviso de confiança para projetos baixados exatamente por esse motivo. Inspecione os alvos, referências de pacotes e scripts de um .csproj desconhecido antes de compilar, e não compile código em que você não confia.

Detalhes do formato

em resumo
NOME COMPLETOC# Project Filetambém conhecido como Visual C# project file, MSBuild C# project
DESENVOLVEDORMicrosoftdesde 2002 (Visual Studio .NET / .NET Framework 1.0)
TIPO MIMEapplication/xml
TIPOArquivo de projeto XML MSBuild que define como um projeto C# é compilado (referências, arquivos, configurações)
PADRÃOAberto · livre de royalties
RELACIONADO.do.md.hex.xsd

Programas que abrem arquivos CSPROJ

Windows4 apps
Microsoft Visual Studio Freemium Clique duas vezes no .csproj (ou seu .sln) para carregar o projeto; a edição Community gratuita compila e executa. Melhor experiência de IDE completa para C#.
Visual Studio Code (with C# Dev Kit) Gratuito Abra a pasta que contém o .csproj; a extensão C# Dev Kit detecta e carrega o projeto para edição, compilação e depuração.
.NET SDK (dotnet CLI) Gratuito Compile/execute a partir de um terminal: «dotnet build MyProject.csproj» ou «dotnet run». Nenhuma IDE necessária; multiplataforma.
Notepad / any text editor Código aberto Abra o .csproj como XML para ler ou editar manualmente referências, framework de destino e configurações de compilação (sem compilar).
macOS2 apps
Visual Studio Code (with C# Dev Kit) Gratuito Abra a pasta que contém o .csproj; a extensão C# Dev Kit detecta e carrega o projeto para edição, compilação e depuração.
JetBrains Rider Freemium Abra o .csproj/.sln diretamente; suporte completo a projetos C# no macOS. Gratuito para uso não comercial.
Linux2 apps
JetBrains Rider Freemium Abra o .csproj/.sln diretamente; suporte completo a projetos C# no macOS. Gratuito para uso não comercial.
Visual Studio Code (with C# Dev Kit) Gratuito Abra a pasta que contém o .csproj; a extensão C# Dev Kit detecta e carrega o projeto para edição, compilação e depuração.

Detalhes técnicos

especificação profunda
Estrutura do arquivoXML com um elemento raiz <Project> contendo elementos filhos <PropertyGroup>, <ItemGroup> e opcionalmente <Target>
Variantes de formato de projetoEstilo SDK (desde .NET Core / VS 2017): compacto, usa atributo Sdk e globbing *.cs implícito. Legado full-framework: detalhado, lista cada arquivo de origem explicitamente, esquema xmlns 2003
Atributo SDK<Project Sdk="Microsoft.NET.Sdk"> abre todo projeto moderno estilo SDK; variantes incluem Microsoft.NET.Sdk.Web (ASP.NET Core) e Microsoft.NET.Sdk.Worker
Declaração do framework de destinoO elemento <TargetFramework> especifica o alvo de compilação (ex: net9.0, net48, netstandard2.0); <TargetFrameworks> (separados por ponto e vírgula) permite multi-targeting em um arquivo
Declaração de dependência NuGetElementos <PackageReference Include="PackageName" Version="x.y.z" /> dentro de um <ItemGroup>; substitui a abordagem antiga packages.config
Referências de projeto para projetoElementos <ProjectReference Include="../Other/Other.csproj" />; o MSBuild resolve a ordem de compilação e o gráfico de dependências automaticamente
Inclusão de arquivos de origem (estilo SDK)Implícita - todos os arquivos *.cs sob o diretório do projeto são compilados automaticamente sem entradas <Compile> explícitas
Tipos de saídaExe (aplicativo de console), WinExe (GUI Windows), Library (biblioteca de classes ou pacote NuGet); definido via propriedade <OutputType>
Mecanismo de compilaçãoMSBuild - invocado diretamente ou via dotnet build, dotnet run e dotnet publish a partir da CLI do .NET SDK
Codificação de textoTexto simples UTF-8; sem assinatura binária ou magic bytes; o BOM é opcional e omitido na maioria das ferramentas modernas
Tamanho típico do arquivoMenos de 1 KB para projetos estilo SDK; até ~50 KB para grandes projetos legados com muitas entradas de arquivos explícitas
Tipo MIMEapplication/xml (também aceito como text/xml ou text/plain)
Arquivo complementar.csproj.user armazena configurações de IDE locais da máquina e por usuário (ex: argumentos de lançamento de depuração) e não deve ser enviado ao controle de versão
Agrupamento de soluçõesUm ou mais projetos .csproj são combinados em um arquivo de solução .sln ou o mais novo .slnx para compilações em IDE e CLI multiprojetos
Formatos de projeto equivalentes.vbproj (Visual Basic .NET) e .fsproj (F#) usam o mesmo esquema XML do MSBuild e podem coexistir na mesma solução
Lançado2002 (Visual Studio .NET / .NET Framework 1.0)
Versão mais recenteSDK-style project format (since .NET Core / VS 2017, 2017); current with .NET 9 (2024)
Padrão abertoSim · livre de royalties
Especificaçãolearn.microsoft.com

Conversões de CSPROJ

Perguntas e Respostas da Comunidade

perguntado por usuários
Faça uma pergunta rápida
Obtenha ajuda de pessoas que trabalham com arquivos CSPROJ. Seja específico - inclua seu sistema e a versão do software.
Não é necessário criar conta · respostas geralmente em um dia

Ainda não há perguntas - seja o primeiro a perguntar sobre arquivos CSPROJ.

Perguntas frequentes

Como abro um arquivo CSPROJ?
Abra-o (ou seu .sln) no Microsoft Visual Studio (edição Community gratuita). Sem o VS completo, abra a pasta no VS Code com o C# Dev Kit, use o JetBrains Rider ou compile pelo terminal com o .NET SDK gratuito («dotnet build»). Para apenas ler, qualquer editor de texto exibe o XML.
Posso abrir um arquivo CSPROJ sem o Visual Studio?
Sim. Use o .NET SDK gratuito pela linha de comando («dotnet build MyProject.csproj»), o VS Code com o C# Dev Kit ou o JetBrains Rider. Estas são as opções padrão no macOS e Linux também.
Por que não há código no meu arquivo CSPROJ?
Porque um .csproj não contém código-fonte - é apenas a definição de compilação (quais arquivos compilar, referências, framework de destino). O código vive nos arquivos .cs. Abra o projeto em uma IDE para ver tudo.
Qual a diferença entre um arquivo CSPROJ e um SLN?
Um .csproj define UM projeto C# (seus arquivos, referências, configurações). Um .sln agrupa um ou mais projetos .csproj/.vbproj/.vcxproj em um único espaço de trabalho. Você abre o .sln para trabalhar em tudo, ou um .csproj para apenas aquele projeto.
Qual a diferença entre o CSPROJ estilo SDK e o legado?
O projeto moderno estilo SDK (desde 2017) começa com <Project Sdk="Microsoft.NET.Sdk">, é curto e inclui arquivos de origem automaticamente. O formato legado (pré-2017, .NET Framework) lista explicitamente cada arquivo e referência e é muito mais longo. A CLI do dotnet pode ajudar a migrar do legado para o estilo SDK.
Posso editar um arquivo CSPROJ manualmente?
Sim - é XML, então você pode editar referências, o framework de destino ou opções de compilação em qualquer editor. É mais seguro deixar o Visual Studio ou o «dotnet add package» editá-lo, mas a edição manual de projetos estilo SDK é comum e bem suportada.

Referências

1Microsoft Learn - MSBuild project file schema referencelearn.microsoft.com
2Microsoft Learn - .NET project SDK overview (SDK-style csproj)learn.microsoft.com

Continue explorando

em todo o banco de dados

Principais extensões desta semana

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.DATProgram Data File (generic)
4.PARTPartial Download File
5.BINCD/DVD Disc Image (BIN/CUE)
6.EXEWindows Executable (Portable Executable)
7.RPMSGRestricted Permission Message
8.JSONJavaScript Object Notation file
9.JPGJPEG Image
10.ICSiCalendar data file

Extensões relacionadas

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

Ferramentas de arquivo gratuitas

Um identificador de arquivos e conversor de imagens no navegador - tudo funciona no seu dispositivo.

Abrir a caixa de ferramentas

Navegar por extensões de arquivo A-Z