Array
(
)

Recuperar valor do AssemblyInfo.cs

Jefferson
   - 20 dez 2011

Ola,
Aguem pode me ajudar a solucionar esse problema:
Coloquei algumas informacoes nesse arquivo: meu titulo, meu produto, 1.0.0.0
[assembly: AssemblyTitle(meu titulo)]
[assembly: AssemblyDescription()]
[assembly: AssemblyConfiguration()]
[assembly: AssemblyCompany(Microsoft)]
[assembly: AssemblyProduct(meu produto)]
[assembly: AssemblyVersion(1.0.0.0)]
No pege load da master page: Segue o seguinte codigo:
protected void Page_Load(object sender, EventArgs e)
{
string AssembleTitle, AssembleVersion, AssembleProduct;
AssembleTitle = Convert.ToString( AssembleTitle);
AssembleProduct = Convert.ToString( AssembleProduct);
AssembleVersion = Convert.ToString( AssembleVersion);
Page.Title = AssembleTitle + : + AssembleProduct + : + AssembleVersion;
}
Qndo compilo, apresnta os seguintes erros:
- Use of unassigned local variable AssembleVersion
- Use of unassigned local variable AssembleTitle
- Use of unassigned local variable AssembleProduct
Independente se eu deixo ou nao somente a variavel do assembly do titulo, apresenta erro da mesma forma.

Fabio Rosa
   - 20 dez 2011

Olá! Veja o código abaixo:

#Código

            //Versão
            string version = this.GetType().Assembly.GetName().Version.ToString();

            //Título
            string title = string.Empty;

            System.Reflection.Assembly thisAssembly = this.GetType().Assembly;
            object[] attributes = thisAssembly.GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
            if (attributes.Length == 1)
            {
               title = ((AssemblyTitleAttribute) attributes[0]).Title;
            }

            string product = string.Empty;

            //Produto
            attributes = thisAssembly.GetCustomAttributes(typeof(AssemblyProductAttribute), false);
            if (attributes.Length == 1)
            {
                product = ((AssemblyProductAttribute)attributes[0]).Product;
            }

Jefferson
   - 20 dez 2011

Valeu cara.

Mas o codigo estava dando erro de indice.

Alterei desta forma:
Funcionou

object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
AssemblyTitleAttribute tituloPagina = (AssemblyTitleAttribute)attributes[0];

string versao = this.GetType().Assembly.GetName().Version.ToString();

attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
AssemblyProductAttribute produto = (AssemblyProductAttribute)attributes[0];

lbProduto.Text= produto.Product;
lbTituloPagina.Text= tituloPagina;
lbVersao.Text= versao;

Jefferson
   - 20 dez 2011


Citação:
Valeu cara.

Mas o codigo estava dando erro de indice.

Alterei desta forma:
Funcionou

object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
AssemblyTitleAttribute tituloPagina = (AssemblyTitleAttribute)attributes[0];

string versao = this.GetType().Assembly.GetName().Version.ToString();

attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
AssemblyProductAttribute produto = (AssemblyProductAttribute)attributes[0];

lbProduto.Text= produto.Product;
lbTituloPagina.Text= tituloPagina.Title;
lbVersao.Text= versao;