Para que é usado o AssemblyInfo.cs?


115

Minha pergunta é bem básica. O que eu gostaria de saber é para que serve o arquivo AssemblyInfo.cs?


Mas lembre-se de que este número de versão é usado junto com o nome, token de chave pública e informações de cultura apenas se os assemblies forem assinados com nome forte. Se os assemblies não forem assinados com nomes fortes, apenas nomes de arquivo serão usados ​​para o carregamento.
Karl SoCal,

Respostas:


84

AssemblyInfo.cs contém informações sobre seu assembly, como nome, descrição, versão, etc. Você pode encontrar mais detalhes sobre seu conteúdo lendo os comentários incluídos nele.

Se você excluí-lo, seu assembly será compilado sem nenhuma informação, ou seja, na guia Detalhes das propriedades do arquivo você não verá nenhum nome, nenhuma descrição, versão 0.0.0.0, etc.

O valor associado ao assembly: Guid é o ID que identificará o assembly se ele for exposto como um objeto COM. Portanto, se sua montagem não estiver exposta ao COM, você não precisa disso. É gerado aleatoriamente. Em qualquer caso, normalmente, você não precisa modificá-lo.

Os créditos vão para: http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/8955449f-71ac-448e-9ee6-5329fceecd3c


1
Portanto, se eu nunca alterar o número da versão no meu arquivo AssemblyInfo, não importa quantas implantações eu execute, ele sempre aparecerá como 1.0.0.0?
Sachin Kainth 01 de

3
E se eu quiser automatizar a atualização da versão a cada lançamento. Isso é possível?
Sachin Kainth 01 de

Depois de construir com sucesso nas configurações do projeto, você pode chamar algum .exe para atualizar este número (então será o número da versão para o próximo lançamento, não aquele que acabou de ser criado). Dê uma olhada em: codeproject.com/Articles/31236/…
Francois

Tem certeza de que não há necessidade de modificá-lo? Como você controla suas implantações sem usar o número da versão?
Uğur Aldanmaz

15

No arquivo AssemblyInfo, os Atributos informativos contêm as informações sobre o nome do produto, descrição, marca registrada e direitos autorais. Em geral, essas informações são em código fixo ou armazenadas em banco de dados ou arquivo simples. O conjunto .NET permite armazenar essas informações no arquivo AssemblyInfo e, após a compilação, torna-se parte do conjunto. Portanto, em tempo de execução, pode-se ler essas informações.

Parte da informação da montagem

1 AssemblyTitle: Nome do título da montagem.

2 AssemblyDescription: fornece a descrição detalhada da montagem.

3 AssemblyCompany: Fornece as informações da empresa sobre a montagem.

4 AssemblyProduct: fornece as informações de produção da montagem.

5 AssemblyCopyright: fornece os direitos autorais da montagem.

6 AssemblyTrademark: Fornece a marca comercial da montagem.

Cada um desses atributos possui uma classe definida, que é usada para ler as informações do arquivo AssemblyInfo.

Confira este link: - http://www.dotnetspider.com/forum/157292-assemblyinfo-file.aspx


10

Vá para Propriedades do projeto, a guia Aplicativo e clique no botão Informações da montagem.

Isso é o que está armazenado em AssemblyInfo.cs.

No Windows Explorer, clique com o botão direito na saída .exe do seu projeto, selecione Propriedades e vá para a guia Detalhes. Essas são as informações geradas por AssemblyInfo.cs.


8

No arquivo AssemblyInfo você pode armazenar informações que podem ser obtidas em todos os locais do projeto, para que não seja necessário atualizar todos os locais, apenas o assemblyInfo.

Por exemplo - neste arquivo você atualiza o número da versão, e ele é atualizado automaticamente em seu site. Na página html, para obter o número da versão, escreva:

Assembly assembly = Assembly.GetAssembly(typeof(ProjectName.WebSite.Controllers.MyController));
string version = assembly.GetName().Version.ToString();

e será atualizado toda vez que você fizer upload de uma nova versão.


4

É um local conveniente para atributos de nível de montagem, como versão, nome da empresa, etc.


0

AssemblyInfo.cs contém informações gerais sobre o aplicativo que você está construindo, algumas dessas informações incluem o título de seu aplicativo, direitos autorais etc., por exemplo, se o título de seu aplicativo for "MyApplication", você deverá ver algo assim: [assembly: AssemblyTitle ("Minha aplicação")]


4
Bem-vindo ao Stack Overflow. É bom ver você envolvido, mas evite adicionar respostas que não tragam nada de novo ao tópico.
machnic
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.