Fala ae pessoal!
Nos últimos meses estou envolvido em um projeto de desenvolvimento para Windows Media Center e, por já ter passado por algumas dificuldades, resolvi começar uma série de tutoriais com alguns detalhes que não encontrei em outros documentos/tutoriais e tive que aprender na marra. Segue abaixo o ctrl+c ctrl+v do meu próprio blog, espero que gostem:
Além do Visual C# Express, vocês precisarão também do Media Center SDK: http://www.microsoft.com/downloads/details.aspx?familyid=a43ea0b7-b85f-4612-aa08-3bf128c5873e&displaylang=en
O clássico "Hello World":
-No Visual C#, inicie um novo projeto "Media Center Application - Fundamental" e dê o nome de "HelloWorldMC".
-Substitua o Launch.cs pelo código abaixo:
corte aqui----------------------------------------------------------------------
using System.Collections.Generic;
using Microsoft.MediaCenter.Hosting;
namespace HelloWorldMC
{
public class HelloAddIn : IAddInModule, IAddInEntryPoint
{
private static HistoryOrientedPageSession s_session;
public void Initialize(Dictionary<string, object> appInfo, Dictionary<string, object> entryPointInfo)
{
}
public void Uninitialize()
{
}
public void Launch(AddInHost host)
{
/*
* Vamos adicionar o objeto "HelloAddIn" para a lista de par‚metros que deve ser passada
* para o Default.mcml
*/
Dictionary<string, object> parametros = new Dictionary<string, object>();
parametros["HelloAddIn"] = this;
/*
* Aqui chamamos nosso Default.mcml passando as propriedades
*/
s_session = new HistoryOrientedPageSession();
s_session.GoToPage("resx://HelloWorldMC/HelloWorldMC.Resources/Default", parametros);
}
private string fraseHello = "Hello Media Center!";
public string FraseHello
{
get
{
return fraseHello;
}
}
}
}
corte aqui----------------------------------
e Default.mcml pelo código abaixo:
corte aqui-----------------------------
<Mcml xmlns="http://schemas.microsoft.com/2006/mcml"
xmlns:cor="assembly://MSCorLib/System"
xmlns:a="assembly://HelloWorldMC/HelloWorldMC"> <!-- Aqui adicionamos o nosso assembly e o chamamos de 'a' -->
<UI Name="Default">
<Properties>
<Color Name="MyColor" Color="White"/>
<!-- Lembra da lista de par√¢metros? Ent√£o, aqui que recebemos ela. -->
<a:HelloAddIn Name="HelloAddIn" HelloAddIn="$Required"/>
</Properties>
<Locals>
<cor:String Name="MyString" String="[HelloAddIn.FraseHello]"/>
</Locals>
<Rules>
<Default Target="[MyText.Content]" Value="[MyString]"/>
</Rules>
<Content>
<Text Name="MyText" Color="[MyColor]" Font="Calibri, 24"/>
</Content>
</UI>
</Mcml>
corte aqui---------------------------
-Dê um "Build Solution".
Pronto!! Mentira, não acabou. Para desenvolver para Media Center, tem que seguir uma receita de bolo, e ainda não acabou =)
-Vá nas propriedades do projeto (lá no Solution Explorer, botão direito no HelloWorldMC e clica em properties)
-Clique na aba "Signing"
-Em "Choose a strong name key file", clique em "New"
-Em "key file name", digite qualquer nome, e descheque a opção logo abaixo
-Rebuild Solution
-Pelo prompt, vá no diretório em que a dll do projeto foi gerada e digite: sn -Tp HelloWorldMC.dll
-Copie a Public key token
-No arquivo Registration.xml, substitua "insert_public_key_token_here" pela string copiada e altere title e description para o que desejar
-Ainda no Registration.xml, altere "HelloWorldMC.MyAddIn" para "HelloWorldMC.HelloAddIn"
-Salve tudo e execute o DevInstall.cmd, que está no diretório raiz do projeto
Agora vá na aba "Mídia Online" e em programas, lá você poderá executar sua recém criada aplicação!
Nos últimos meses estou envolvido em um projeto de desenvolvimento para Windows Media Center e, por já ter passado por algumas dificuldades, resolvi começar uma série de tutoriais com alguns detalhes que não encontrei em outros documentos/tutoriais e tive que aprender na marra. Segue abaixo o ctrl+c ctrl+v do meu próprio blog, espero que gostem:
Além do Visual C# Express, vocês precisarão também do Media Center SDK: http://www.microsoft.com/downloads/details.aspx?familyid=a43ea0b7-b85f-4612-aa08-3bf128c5873e&displaylang=en
O clássico "Hello World":
-No Visual C#, inicie um novo projeto "Media Center Application - Fundamental" e dê o nome de "HelloWorldMC".
-Substitua o Launch.cs pelo código abaixo:
corte aqui----------------------------------------------------------------------
using System.Collections.Generic;
using Microsoft.MediaCenter.Hosting;
namespace HelloWorldMC
{
public class HelloAddIn : IAddInModule, IAddInEntryPoint
{
private static HistoryOrientedPageSession s_session;
public void Initialize(Dictionary<string, object> appInfo, Dictionary<string, object> entryPointInfo)
{
}
public void Uninitialize()
{
}
public void Launch(AddInHost host)
{
/*
* Vamos adicionar o objeto "HelloAddIn" para a lista de par‚metros que deve ser passada
* para o Default.mcml
*/
Dictionary<string, object> parametros = new Dictionary<string, object>();
parametros["HelloAddIn"] = this;
/*
* Aqui chamamos nosso Default.mcml passando as propriedades
*/
s_session = new HistoryOrientedPageSession();
s_session.GoToPage("resx://HelloWorldMC/HelloWorldMC.Resources/Default", parametros);
}
private string fraseHello = "Hello Media Center!";
public string FraseHello
{
get
{
return fraseHello;
}
}
}
}
corte aqui----------------------------------
e Default.mcml pelo código abaixo:
corte aqui-----------------------------
<Mcml xmlns="http://schemas.microsoft.com/2006/mcml"
xmlns:cor="assembly://MSCorLib/System"
xmlns:a="assembly://HelloWorldMC/HelloWorldMC"> <!-- Aqui adicionamos o nosso assembly e o chamamos de 'a' -->
<UI Name="Default">
<Properties>
<Color Name="MyColor" Color="White"/>
<!-- Lembra da lista de par√¢metros? Ent√£o, aqui que recebemos ela. -->
<a:HelloAddIn Name="HelloAddIn" HelloAddIn="$Required"/>
</Properties>
<Locals>
<cor:String Name="MyString" String="[HelloAddIn.FraseHello]"/>
</Locals>
<Rules>
<Default Target="[MyText.Content]" Value="[MyString]"/>
</Rules>
<Content>
<Text Name="MyText" Color="[MyColor]" Font="Calibri, 24"/>
</Content>
</UI>
</Mcml>
corte aqui---------------------------
-Dê um "Build Solution".
Pronto!! Mentira, não acabou. Para desenvolver para Media Center, tem que seguir uma receita de bolo, e ainda não acabou =)
-Vá nas propriedades do projeto (lá no Solution Explorer, botão direito no HelloWorldMC e clica em properties)
-Clique na aba "Signing"
-Em "Choose a strong name key file", clique em "New"
-Em "key file name", digite qualquer nome, e descheque a opção logo abaixo
-Rebuild Solution
-Pelo prompt, vá no diretório em que a dll do projeto foi gerada e digite: sn -Tp HelloWorldMC.dll
-Copie a Public key token
-No arquivo Registration.xml, substitua "insert_public_key_token_here" pela string copiada e altere title e description para o que desejar
-Ainda no Registration.xml, altere "HelloWorldMC.MyAddIn" para "HelloWorldMC.HelloAddIn"
-Salve tudo e execute o DevInstall.cmd, que está no diretório raiz do projeto
Agora vá na aba "Mídia Online" e em programas, lá você poderá executar sua recém criada aplicação!