Retorno(1) ^^

24 02 2011

E ai pessoal estou de volta!!!

Depois de um tempo sem postar, de ferias (rs), estou voltando com algumas novidades.
Pretendo pra esse ano concluir alguns projetos pessoais e o pontapé inicial foi a certificação.

Durante minhas ferias obtive a certificação : Microsoft Certified Technology Specialist (MCTS)
Essa é uma das novidades.

Outra novidade que nem é tão nova assim é o meu domínio www.codeco.com.br
Agora estou migrando meu blog para o novo endereço www.codeco.com.br/blog troquei o visual e assim que eu me organizar melhor vou começar a postar.

Então me acompanhe nessa aventura …





Att – Monografia

27 08 2010

Pessoal, quero aproveitar o blog para explicar e pedir desculpas por eu não poder dar muita atenção ultimamente para todos.

Esse semestre tenho que fazer minha monografia da faculdade o que vai tomar bastante do meu tempo. Sendo assim não vou poder dar muita atenção e provavelmente não vai ter muitos posts nesse tempo.

O mesmo se aplica aos forums do msdn onde respondo.

Ainda assim eu gostaria de continuar ajudando o quanto puder, em questões rápidas e que não ocupem muito meu tempo, podem continuar me pedindo ajuda.





Erro ‘Insufficient Memory’ para Copiar e Colar no VS2010

25 08 2010

Essa semana tem ocorrido comigo um erro incomun, as vezes quando eu vou copiar algum trecho de codigo no VS2010 salta uma mensagem na tela.

Dei uma pesquisada na net e achei um patch para resolver o problema.

Então se você estiver com o mesmo problema de memoria insuficiente aplique o patch que resolvera seu problema.

Download do patch aqui.

Para mais informações sobre o erro clique aqui.





Microsoft® Visual Studio® LightSwitch

25 08 2010

Acabei de rodar minha primeira aplicação construida com o lightswitch e não digitei nenhuma linha de codigo. Simplesmente dei alguns cliques e pronto ja tinha uma aplicação com um CRUD completo e que alem de tudo exportava os dados pro excel.

Agora podemos criar uma aplicação sem precisar digitar nenhuma linha de codigo, isso é preocupante! o que sera dos desenvolvedores… rs  ^^

Não deixem de dar uma olhada nessa novidade.

Linq para Download.

E uma pequena introdução no bloh do Jason Zanders – Introducing Microsoft® Visual Studio® LightSwitch™

Se eu tiver um tempo essa semana eu faço um demo e disponibilizo para download.

Obs: Na hora da instalação se você ja tiver instalado o WCF RIA Services, desinstale-o antes de instalar LightSwitch. Caso contrario o setup dara um erro na hora de instalar o RIA. É que o WCF Ria Services faz parte da instalação do LightSwitch. Qualquer outro problema me mande um email com a duvida/problema.

email : adrielcodeco@hotmail.com





How To – Converter uma cor em String para Brush

23 08 2010

Quando vocês estão trabalhando com cores no code-behind e precisam setar o Background de um Grid por exemplo como #00554433 o que vocês fazem?
Algo assim: ?

grid.Background = new SolidColorBrush(Color.FromArgb(
    byte.Parse("00"),
    byte.Parse("55"),
    byte.Parse("44"),
    byte.Parse("33")
    ));

Eu simplesmente faço assim:

grid.Background = “#00554433”.ToBrush();

Um pequeno truque que eu uso, eu criei uma extension que pega a string com a cor e retorna um Brush.

public static Brush ToBrush(this string color)
{
    Brush brush =
        XamlReader.Load(
        "<Brush xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" " +
        "       xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\">" +
        color +
        "</Brush>") as Brush;
    return brush;
}




Speech – Fazendo o computador falar

6 08 2010

Cara essa me surpriendeu. Eu não fazia ideia que o framework tinha essa feature.

Mas em fim, a partir do framework 3.0 temos uma dll chamada System.Speech.dll e uma de suas funções é, acredite, falar um texto que e passado por parâmetro a um metodo.

Bem, vejamos como fica, temos uma classe no namespace System.Speech.Synthesis chamada SpeechSynthesizer que tem um metodo chamado Speak que recebe uma string como parametro e fala a string Oo. \o/ … muito massa ^^ … pena que fala em ingles, até da pra mudar a linguegem selecionando o Voice com o metodo SelectVoice() mas o voice tem de estar instalado.

Pra testar voce pode criar um projeto Console Application, adicionar a dll no projeto e colocar o codigo a seguir no metodo Main

        static void Main(string[] args)
        {
            SpeechSynthesizer synth = new System.Speech.Synthesis.SpeechSynthesizer();
            string str = "Hello";
            do
            {
                str = Console.ReadLine();
                if (str == "/?")
                {
                    Console.WriteLine("");
                    Console.WriteLine("    /rate={Velocidade da fala}");
                    Console.WriteLine("    /volume={Volume da fala}");
                    Console.WriteLine("    {texto a ser falado} /save={Caminho completo do arquivo .wav a ser criado e salvo com a fala}");
                    Console.WriteLine("");
                    continue;
                }
                else if (str.Contains("/rate="))
                {
                    int rate;
                    if (Int32.TryParse(str.Replace("/rate=", ""), out rate))
                    {
                        synth.Rate = rate;
                        Console.WriteLine("    rate=" + synth.Rate);
                    }
                    continue;
                }
                else if (str.Contains("/volume="))
                {
                    int volume;
                    if (Int32.TryParse(str.Replace("/volume=", ""), out volume))
                    {
                        synth.Volume = volume;
                        Console.WriteLine("    volume=" + synth.Volume);
                    }
                    continue;
                }
                else if (str.Contains("/save="))
                {
                    string text = str.Split(new string[] { "/save=" }, StringSplitOptions.None)[0];
                    string path = str.Split(new string[] { "/save=" }, StringSplitOptions.None)[1];
                    if (File.Exists(path))
                    {
                        synth.SetOutputToWaveFile(path);
                        synth.Speak(text);
                        synth.SetOutputToDefaultAudioDevice();
                        Console.WriteLine("    " + text + " save=" + path);
                    }
                    continue;
                }

                var voices = synth.GetInstalledVoices();
                synth.Speak(str);
            } while (str.ToUpper() != "exit".ToUpper());
        }

Com a aplicação rodando, pra ver as opções digite /?

Nele voce pode configurar o volume e a rate (velocidade da voz).

Tem tambem uma aplicação em windows form que voce pode usar pra testar.

para baixar a aplicação windows form clique aqui.

para baixar a aplicação console que eu criei clique aqui.





Passo a passo – AppFabric-Enabled WCF Data Service

6 08 2010

Este post foi copiado e traduzido do blog de Ron Jacobs

Neste explicação passo a passo eu vou lhe mostrar como usar o AppFabric-Enabled WCF Data Service (C#) template para o Visual Studio 2010 para melhorar o seu WCF Data Services, fornecendo

  • Monitoramento de eventos e erros ao AppFabric Data Store
  • Eliminando a necessidade de usar a extensão .Svc no seu URI

Requisitos

Passo 1 – Criar um Aplicativo da Web
  1. Inicie o Visual Studio 2010
  2. Selecione Arquivo / Projeto Novo
  3. Escolha um Web Application Template – para esse exemplo eu usei Empty Web Application
Passo 2 – Adicionar um modelo de dados ADO.NET Entity
  1. Para o meu banco de dados estou usando o banco de dados de exemplo AdventureWorksLT para SQL Server 2008r2
  2. Botão direito do mouse em seu projeto e selecione Add / New Item …
  3. Selecione o ADO.NET Entity Data Model modelo
  4. Nome do modelo AdventureWorks.edmx
  5. Selecione Gerar Banco de Dados
  6. Conecte-se AdventureWorksLT e utilizar as configurações padrão
  7. Selecione todas as tabelas, marcando a caixa Tables
Passo 3 – Adicionar uma AppFabric-Enabled WCF Data Service
  1. Botão direito do mouse em seu projeto e selecione Add / New Item …
  2. Selecione Modelos Online
  3. Na caixa tipo de pesquisa AppFabric
  4. Selecione o AppFabric-Enabled WCF Data Service (C #) Template
  5. Nome que AdventureWorks.svc

    Add New Item AppFabric-enabled WCF Data Service C#
  6. Clique em Install para instalar o template no seu computador
Código Passo 4 – Modificar o modelo

Nós adicionamos tarefas TODO no modelo para guiá-lo através de tarefas que você precisa fazer para tornar seu serviço pronto

  1. Substituir classe [[nome]] com AdventureWorksLTEntities
  2. Modificar o código SetEntitySetAccessRule como mostrado para todas as entidades (“*”)
  3. Se você quiser usar uma rota diferente, você pode definir que, como bem
// This method is called only once to initialize service-wide policies.
public static void InitializeService(DataServiceConfiguration config)
{
    // Enable read only access to all entities
    config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
    config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;

    RouteTable.Routes.Add(
        new ServiceRoute("AdventureWorks", new DataServiceHostFactory(), typeof(AdventureWorks)));
}
Passo 5 – Modificar o web.config
  1. Em AdventureWorks.svc.cs expandir #region Sample Config with End-To-End Monitoring enabled”
  2. Selecione o XML comentado e tire-o (Ctrl + K, Ctrl + U)
  3. Copie-o para o clipboard
  4. Comentário-lo novamente (Ctrl + K, Ctrl + C)
  5. Abra web.config
  6. Cole o XML dentro da tag <configuration>
<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
    <diagnostics etwProviderId="830b12d1-bb5b-4887-aa3f-ab508fd4c8ba">
      <endToEndTracing propagateActivity="true" messageFlowTracing="true" />
    </diagnostics>
    <behaviors>
      <serviceBehaviors>
        <behavior name="">
          <etwTracking profileName="EndToEndMonitoring Tracking Profile" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <remove name="UrlRoutingModule"/>
      <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </modules>
    <handlers>
      <add
      name="UrlRoutingHandler"
      preCondition="integratedMode"
      verb="*" path="UrlRouting.axd"
      type="System.Web.HttpForbiddenHandler, System.Web,
                      Version=2.0.0.0, Culture=neutral,
                      PublicKeyToken=b03f5f7f11d50a3a"/>
    </handlers>
  </system.webServer>
</configuration>
Passo 6 – Execute o serviço no IIS

Para ver os eventos no Windows Server AppFabric que você precisa para implantar o projeto da Web para o IIS ou modificar seu projeto para sediar a solução no local do servidor IIS. Para este exemplo vou modificar o projecto de acolhimento com o servidor IIS local. Nota: Isto requer que você executar Visual Studio como

Administrador

  1. Se você não estiver executando o Visual Studio como Administrador, sair e reiniciar o Visual Studio como administrador e recarregar seu projeto. Para mais informações, consulte Usando o Visual Studio com o IIS 7
  2. Botão direito do mouse sobre a WebApplication e selecione propriedades
  3. Vá até a aba Web
  4. Verifique Use Local IIS Web Server e clique em Create Virtual Directory
  5. Pressione Ctrl + Shift + S para salvar as configurações do projeto (depuração não irá salvá-los)
  6. Open AdventureWorks.svc.cs
  7. Pressione F5 para depurar
  8. O serviço será aberto no depurador e apresentação de documento de serviço
    Service working
  9. Retire a extensão. Svc da URI e tente novamente. Funcionará sem a extensão. Svc na URI.
    Se isto não está funcionando para você ver System.Web.Routing RouteTable não funciona com o IIS?
    Se você quiser desativar o URI com o svc extensão. (E eliminar o svc arquivo.) Ver este post
  10. Se você ver um erro no log de eventos (Login failed for user ‘IIS AppPool \ DefaultAppPool. Motivo: Falha ao abrir o banco de dados especificado explicitamente. [CLIENT: <local máquina>]) Você precisa conceder permissão para IIS usuário para acessar o banco de dados
USE [AdventureWorksLT]
GO
CREATE USER [IIS USERS] FOR LOGIN [BUILTIN\IIS_IUSRS]
GO
USE [AdventureWorksLT]
GO
EXEC sp_addrolemember N'db_datareader', N'IIS USERS'
GO
Passo 7 – Ver Eventos em AppFabric
  1. Iniciar Gerenciador do IIS
  2. Abra o Dashboard AppFabric
  3. Clique em um dos links para WCF
  4. Botão direito do mouse em um evento e selecione Exibir todos os eventos relacionados para ver eventos detalhados

AppFabric Dashboard

Tracked Events





Visual Studio 2010 – Extension Manager

6 08 2010

Para quem tem interesse em procurar mais ferramentas para ajudar no desenvolvimento tem o proprio Visual Studio tem uma janela para a manutenção dos extensions.

Você pode instalar Controles, Templates e ferramenta

acessando o menu Tools e selecionando Extension Manager…

Extensions_img1

Vai abrir a janela

Extensions_img2

Nela você vai ter no lado esquerdo trêis opcões Installed Extensions, Online Gallery e Updates. Em Online Gallery você encontra varios Controles, Templates e Tools para instalar.

E só instalar e se divertir.





Visual Studio 2010 – Ferramentas de Produtividade – 2

6 08 2010

Fiquei empolgado em procurar novas ferramentas para o Visual Studio 2010 para ajudar no desenvolvimento e aumentar a produtividade e me deparei com mais uma boa ferramenta.

A seguir a descrição da ferramenta que tambem estava em ingles e que eu traduzi para melhor compreender como funciona.

Para visitar o site com as descrição e tambem o download dessa ferramenta clique aqui.

PowerCommands 10,0

PowerCommands 10.0 é um conjunto de extensões úteis para o Visual Studio 2010 adicionando funcionalidade adicional para diversas áreas do IDE. Visite o VSX Developer Center em http://msdn.com/vsx para obter mais informações sobre como estender o Visual Studio.

PowerCommands.jpg

Abaixo está uma lista dos comandos incluídos no PowerCommands para o Visual Studio 2010, versão 10.0.

Enable/Disable PowerCommands in Options dialog

Este recurso permite que você selecione quais os comandos para que no Visual Studio IDE. Aponte para o menu Ferramentas, clique em Opções. Ampliar as opções PowerCommands, em seguida, clique em Comandos. Verifique os comandos que você deseja ativar.

Nota: Todos os comandos são inicialmente em falta de energia ativado.

Format document on save / Remove and Sort Usings on save

O documento em formato salvar formatos opção tabs, espaços e assim por diante do documento a ser guardado. É o equivalente a apontar para o menu Editar, clicando em Advanced, e em seguida clicando em Document Format. A opção de remover e remove usings espécie não utilizada com declarações e classifica a utilizar as instruções restantes no documento a ser salvo.
Nota: A opção Remover e usings espécie está disponível somente para documentos C #.

Nota: Documento Format em salvar e remover e usings classificar ambos são inicialmente em falta OFF.

Clear All Panes

Este comando apaga todos os painéis de saída. Pode ser executado a partir do botão na barra de ferramentas da janela de saída.

Copy Path

Este comando copia o caminho completo do item atualmente selecionado para o clipboard. Pode ser executado por um botão direito do mouse desses nós no Solution Explorer:
O nó de solução, um nó de projeto, qualquer projeto nó item; qualquer pasta.

Email CodeSnippet

Para enviar as linhas do texto selecionado no editor de código, clique com o botão direito em qualquer lugar no editor e clique em Enviar CodeSnippet.

Insert Guid Attribute

Este comando adiciona um atributo de uma classe Guid selecionados. Desde o editor de código, clique com o botão direito em qualquer lugar dentro da definição da classe, em seguida, clique em Inserir Guid Attribute.

Show All Files

Este comando mostra os arquivos ocultos em todos os projetos exibidos no Gerenciador de Soluções quando o nó solução é selecionada. Ela reforça o botão Show All Files, que normalmente só mostra os arquivos ocultos no nó do projeto selecionado.

Undo Close

Este comando reabre um documento fechado, retornando o cursor para a última posição. Para reabrir o documento fechado recentemente mais, aponte para no menu Editar, em seguida, clique em Undo Close. Alternativamente, você pode usar o CtrlShiftZ atalho.
Para reabrir qualquer outro documento fechado recentemente, aponte para o menu Exibir, clique em Other Windows e, em seguida, clique em Undo Close Window. O Undo Fechar a janela aparece, normalmente ao lado da janela de saída. Dê um duplo clique em qualquer documento na lista para reabri-lo.

Collapse Projects

Este comando recolhe um projecto ou projectos no Solution Explorer a partir da raiz do nó selecionado. Desmoronamento de um projeto pode aumentar a legibilidade da solução. Este comando pode ser executado a partir de três locais diferentes: solução, pastas solução e nós de projeto, respectivamente.

Copy Class

Este comando copia o conteúdo selecionado de uma classe inteira para a área de transferência, renomear a classe. Este comando é normalmente seguido por um comando Colar Class, que muda o nome da classe para evitar um erro de compilação. Pode ser executado a partir de um item único projeto ou um item do projeto com sub itens dependentes.

Paste Class

Este comando cola uma classe inteira de conteúdo do clipboard, renomear a classe para evitar um erro a compilação. Este comando é normalmente precedida de um comando de classe Copiar. Pode ser executado a partir de um projeto ou nó pasta.

Copy References

Este comando copia uma referência ou um conjunto de referências para o clipboard. Pode ser executado a partir do nó de referência, um nó de referência único ou um conjunto de nós de referência.

Paste References

Este comando cola uma referência ou um conjunto de referências da área de transferência. Pode ser executado a partir de locais diferentes, dependendo do tipo de projeto. Para projetos CSharp pode ser executado a partir do nó de referência. Para o Visual Basic e projetos Website pode ser executado a partir do nó do projeto.

Copy As Project Reference

Este comando copia um projeto como uma referência de projeto para a área. Pode ser executado a partir de um nó do projeto.

Edit Project File

Este comando abre o projeto MSBuild arquivo para um projeto selecionado dentro do Visual Studio. Ele combina o actual Unload Project e comandos Edit Project.

Open Containing Folder

Este comando abre uma janela do Windows Explorer apontando para o caminho físico de um item selecionado. Pode ser executado a partir de um nó de projeto item

Open Command Prompt

Este comando abre um Visual Studio prompt de comando apontando para o caminho físico de um item selecionado. Pode ser executado em quatro lugares diferentes: solução de projeto, item do projeto pasta e nós, respectivamente.

Unload Projects

Este comando descarrega todos os projetos em uma solução. Isso pode ser útil em cenários MSBuild quando vários projetos estão sendo editados. Este comando pode ser executado a partir do nó de solução.

Reload Projects

Este comando recarrega todos os projetos descarregados em uma solução. Pode ser executado a partir do nó de solução.

Remove and Sort Usings

Este comando remove e classificar com instruções para todas as aulas dadas de um projeto. É útil, por exemplo, remover ou organizar as declarações usando gerada por um assistente. Este comando pode ser executado a partir de um nó de solução ou um nó de projeto único.

Extract Constant

Este comando cria uma instrução de definição constante de um texto selecionado. Extraindo uma eficácia constante nomes um valor literal, o que pode melhorar a legibilidade. Este comando pode ser executado a partir do editor de código clicando com o texto selecionado.

Clear Recent File List

Este comando limpa o Visual Studio lista de arquivos recentes. O comando Limpar lista de ficheiros recentes traz um diálogo Limpar arquivos que permite que qualquer ou todos os arquivos recentes a ser selecionado.

Clear Recent Project List

Este comando limpa o Visual Studio lista de projetos recentes. O comando Limpar lista Recent Project traz uma caixa de diálogo Limpar arquivos que permite que qualquer um ou todos os recentes projetos a serem selecionados.

Transform Templates

Este comando executa uma ferramenta personalizada com texto associado modelos itens. Pode ser executado a partir de um nó do projeto DSL ou um nó de pasta de DSL.

Close All

Este comando fecha todos os documentos. Pode ser executado a partir de um documento guia.





Criando um Sidebar Gadget para Vista usando o Microsoft Silverlight

5 08 2010
Seguindo meus estudos me deparei com o sidebar gadget feito com Silverlight e como de costume semple que encontro um bom material em ingles traduzo para poder entender e posto aqui para que outras pessoas tambem se beneficien desse material. Apesar desse post ter sido escrito em 2008 a forma de desenvolvimento ainda e a mesma tornando-o valido.
Esse post foi copiado e traduzido do blog do Ioan Lazarciuc’s.
Introdução

Algum tempo atrás eu fiz um post sobre como criar uma Vista Sidebar gadget usando JavaScript. Também mencionei que eu tentei criar o gadget usando XBAP ou Silverlight, mas devido às limitações nessas tecnologias, nesse momento, eu decidi que tinha que desistir de muita da funcionalidade específica gadget da barra lateral (flyouts, os dados de domínio cruzado recuperação).

Mais de 6 meses se passaram desde então e agora tenho o prazer de anunciar que eu mudei minha opinião sobre Sidebar gadgets Silverlight. Devido ao fato de que a tecnologia Silverlight amadureceu muito (versão 2.0 beta 2 já está disponível), os gadgets da barra lateral podem ser desenvolvidos usando essa tecnologia, sem sacrificar qualquer funcionalidade específica gadget da barra lateral. Isto é devido ao fato de que existe a plena interoperabilidade entre Silverlight e código JavaScript. Além disso, chama domínio cruz agora são permitidos em Silverlight, para recuperação de dados não é mais um problema. Além disso, tem sido muito maior devido ao fato de que uma pessoa pode consumir WCF serviços usando Silverlight.

Primeiros passos

O primeiro passo é ter um olhar sobre a “clássica” forma de desenvolver gadgets da barra lateral. Mesmo que a maioria do trabalho duro “pode agora ser feito em Silverlight, a fiação”, as entranhas do gadget todo ainda são os clássicos, com base em JavaScript e HTML. Em seguida, se você não estiver familiarizado com o desenvolvimento do Silverlight, eu recomendo que você gaste algum tempo a ficar confortável com o Silverlight. Para isso, você pode visitar http://www.silverlight.net e experimentar os tutoriais lá.

O resultado de minhas investigações neste assunto é um projeto do Visual Studio modelo que pode ser usado para iniciar rapidamente o desenvolvimento de um gadget da Barra Lateral do Silverlight. Eu tenho inspirado no modelo Tim Heuer criou para saltar a partir do desenvolvimento Sidebar gadget usando apenas JavaScript / HTML. Os requisitos para instalar e usar o modelo são:

  • Microsoft Visual Studio 2008 (Standard ou mais)
  • Microsoft Silverlight 2.0 beta 2
  • Silverlight Tools Beta 2 do Visual Studio 2008

Depois de baixar o instalador a partir do modelo aqui, a fim de instalá-lo, basta executar o arquivo baixado. O Visual Studio Content Installer irá lidar com o resto (clique ao lado e ignorar os avisos de segurança, porque eu não assinar o modelo).

Depois de instalar o modelo, a fim de criar um novo gadget da barra lateral, no Visual Studio, clique em File> New> Project. Você vai notar que sob o nó C #, no fundo, em “My Templates”, uma entrada nova apareceu: “Silverlight Sidebar Gadget”. Dê o nome de uma solução e, em seguida, clique em OK.

NewProject

Você vai notar que 6 projetos foram automaticamente adicionado à solução recém-criado: SilverlightSidebarGadgetWeb, SilverlightGadgetDocked, SilverlightGadgetUnDocked, SilverlightGadgetSettings, SilverlightGadgetFlyout e SilverlightGadgetUtilities. Em fim, estas correspondem a: o principal projeto de web site gadget que vai realmente acabar sendo implantado (todo o conteúdo eo código é adicionado a este site), o controle do Silverlight que é exibida quando o gadget está acoplado, o controle do Silverlight que é exibido quando o gadget é desencaixado, o controle do Silverlight que é exibido na página de configurações do gadget, o controle do Silverlight que é exibido na página flutuante do dispositivo e uma biblioteca de utilidades para o Silverlight, fornecendo um código gerenciado da API de gadgets da barra lateral. Esta API traduz em chamadas na JavaScript Sidebar Gadget API.

IMPORTANTE: Devido às limitações na forma como o modelo é construído, as aplicações Silverlight tem que ser adicionado o principal projeto gadget manualmente. Isso pode ser feito indo para as páginas de propriedades para o projeto de site, o Silverlight guia Aplicativos e clique em Adicionar para cada projeto Silverlight adicionais. Desmarque a opção “Adicionar uma página de teste que faz referência ao controle de caixa”, e certifique-se o Silverlight Enable “depuração” está marcada se você quiser capacidade de depuração para o Silverlight.Silverlight e depuração de JavaScript simultânea não for possível no momento atual (depuração requer Silverlight desativar depuração de script do IE).

AddSilverlightApplications

Em uma versão mais recente do modelo de projeto este não será mais necessário, mas para isso eu tenho que adicionar um assistente personalizado para o modelo de projeto que pode preparar os projetos no modelo.

O código é comentado, então eu não vou cobri-lo em detalhe. Além disso, por orientação do desenvolvimento Sidebar gadget, leia o meu anterior post sobre o assunto. O dispositivo é configurado para usar controles Silverlight para cada página do gadget. Isso não é obrigatório, e os controles do Silverlight pode ser removido do projeto (junto com seus projetos de forma a solução), conforme necessário. Há duas classes principais definidos na classe SilverlightGadgetUtilities: SilverlightGadget e SilverlightGadgetEvents. O primeiro é usado para acessar o JavaScript Sidebar Gadget API. O segundo é usado para expor os eventos relacionados com JavaScript como um dispositivo gerenciado eventos nos controles Silverlight.

Conhecido “solavancos”

Há algumas coisas que simplesmente não vai funcionar, não importa o quão duro você tente fazê-los funcionar. Geralmente isso ocorre devido ao fato de que o gadget da barra lateral atual API ou a experiência do usuário gadget fornecido pela Microsoft não permite isso. Estes “caipira-ups” estão especificados nos comentários de documentação das classes ou diretamente como comentários.

Devido ao fato de que o objeto Gadget JavaScript não permite anexar manipuladores de eventos para o mesmo evento, deve-se tomar cuidado que manipulador de evento é registrado para um evento particular. resultados possíveis são: eventos que não se desencadeou a todos nos controles Silverlight, os eventos que se desencadeou em apenas alguns controles Silverlight.

Devido à experiência do usuário com os gadgets da barra lateral, alguns eventos não podem ser acionados em Silverlight controles: o encaixado, eventos Cortada, todos os eventos gadget no flutuante, etc

Algumas propriedades da classe SilverlightGadget são somente leitura mesmo que o gadget da barra lateral JavaScript API especifica que são de leitura e escrita. Isto é devido ao fato de que tentar definir essas propriedades resultaram em exceções em tempo de execução e as exceções são provavelmente causados pela própria API JavaScript.

Eu tentei “descobrir” todos esses “solavancos” que possam aparecer e documentá-los diretamente no modelo. Se há algo que eu perdi ou você tem uma pergunta, por favor entre em contato comigo ou postar um comentário e vou tentar modificar o modelo para corrigir o problema ou documento. Além disso, quaisquer sugestões para melhorar este modelo de projeto são bem-vindas.

Estou ansioso para ver muitos gadgets Silverlight Sidebar sendo desenvolvido. Se você criar um dispositivo tão usando este modelo de projeto, por favor me avise por postar um comentário com um link para a página do Live Gallery gadget ou um link para uma página que descreve-lo.

Mais uma vez, o link para o projeto do Visual Studio modelo é mostrada abaixo.

FILE: SilverlightSidebarGadget.vsi

UPDATE: Se você tiver o Microsoft Visual Studio 2008 SP1 instalado, você precisará doMicrosoft Visual Studio Tools Beta 2 do Visual Studio 2008 , a fim de ser capaz de criar projetos Silverlight. Isto também significa que você não pode usar o modelo fornecido sem instalar a nova versão do Silverlight Tools.

UPDATE 2: Eu tenho atualizado os projetos no modelo para o Silverlight 3 Beta. O modelo correspondente pode ser encontrado aqui.

UPDATE 3: Eu criei uma versão do modelo para o Silverlight 2 final. O modelo correspondente pode ser encontrado aqui.

UPDATE 4: eu atualizei os projetos no modelo para o Silverlight 3 RTW. O modelo correspondente pode ser encontrado aqui.

UPDATE 5: Eu criei uma versão do modelo usando o Visual Basic projetos. O modelo correspondente pode ser encontrado aqui.

UPDATE 6: Eu criei uma versão do modelo para o Visual Studio 2010, usando o formato de nova prorrogação. O modelo correspondente pode ser encontrado aqui.