Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Leiame da versão Beta 3 do Web Matrix e ASP.NET Web Pages (Razor) Beta 3
9 novembro 2010
Conteúdos
Visão geral
Microsoft WebMatrix Beta é uma pilha de desenvolvimento web gratuito que se instala em minutos. Ele integra um servidor web com banco de dados e estruturas de programação para criar uma experiência única e integrada. Você pode usar o WebMatrix Beta para simplificar a maneira como codifica, testa e publica seu próprio site ASP.NET ou PHP, ou pode usar o WebMatrix Beta para iniciar um novo site usando aplicativos populares de código aberto como DotNetNuke, Umbraco, WordPress ou Joomla. O WebMatrix Beta usa o mesmo poderoso servidor web, mecanismo de banco de dados e ambiente de estruturas que executará seu site na internet, o que torna a transição do desenvolvimento para a produção suave e perfeita.
Instalação
Observação
O WebMatrix não é mais recomendado como um ambiente de desenvolvimento integrado para ASP.NET páginas da Web. Use Visual Studio ou Visual Studio Code.
Se você tiver problemas durante a instalação, consulte Solução de problemas com o Microsoft Web Platform Installer.
Instruções para publicação de aplicativos
Consulte as instruções passo a passo para publicar aplicativos
Novos recursos, alterações e problemas conhecidos
Instalação do WebMatrix Beta 3
Problema: o WebMatrix Beta 3 só está disponível em plataformas que suportam o Microsoft .NET Framework 4
O .NET Framework versão 4 é necessário para o WebMatrix Beta. Em certos casos, o instalador do WebMatrix Beta permitirá que você tente instalar em uma plataforma que não faz parte do conjunto de configurações suportado. Em particular, o Windows Vista sem a atualização do SP1 permitirá que você inicie a instalação do WebMatrix Beta, mas o componente .NET Framework 4 falhará e bloqueará sua instalação.
Solução
Instale numa plataforma suportada, que inclui:
- Janelas 7
- Windows Server 2008
- Windows Server 2008 R2
- Windows Vista SP1 ou posterior
- Janelas XP SP3
- Windows Server 2003 SP2
Problema: Não é possível instalar o WebMatrix Beta 3 se o Microsoft Visual Studio 2008 estiver instalado sem o Microsoft Visual Studio 2008 SP1
Solução
Instale o Microsoft Visual Studio 2008 Service Pack 1 a partir do Centro de Download da Microsoft.
Problema: alguns assemblies do SQL Server Compact 4.0 não estão instalados no GAC
Os assemblies gerenciados para o SQL Server Compact 4.0 não são colocados no cache de assembly global (GAC) quando você instala o SQL Server Compact 4.0 em um computador de 64 bits e o computador tem apenas o .NET Framework 3.5 SP1 Client Profile instalado. Os assemblies gerenciados que não estão instalados no GAC são:
- System.Data.SqlServerCe.dll (provedor de ADO.NET)
- System.Data.SqlServerCe.Entity.dll (ADO.NET Entity Framework )
Solução
Desinstale o SQL Server Compact 4.0. Transfira e instale a versão completa do .NET Framework 3.5 SP1 a partir da seguinte localização:Microsoft .NET Framework 3.5 Service Pack 1 (pacote completo)
Em seguida, reinstale o SQL Server Compact 4.0.
Problema: não é possível desinstalar o SQL Server Compact usando a linha de comando
A desinstalação do SQL Server Compact usando opções de linha de comando não funciona nesta versão.
Solução
Use Programas e Recursos no Painel de Controle do Windows para desinstalar o Microsoft SQL Server Compact 4.0.
ASP.NET Páginas da Web
Esta seção do documento descreve novos recursos, alterações e problemas conhecidos com a versão Beta 3 de ASP.NET páginas da Web com sintaxe Razor.
Novos recursos no Beta 3 para páginas da Web ASP.NET com sintaxe Razor
Novo: O método "Html.Raw" processa marcação não codificada
O novo
Html.Rawmétodo permite renderizar marcação HTML como marcação em vez de renderizar saída codificada. (Por padrão, o ASP.NET Razor codifica cadeias de caracteres antes de processá-las.) A sintaxe é:
Html.Raw(value)O exemplo a seguir mostra como usar
Html.Raw:@* Inserts literal markup into the page as specified in the value string. *@ @Html.Raw("<div>Hello <em>world</em>!</div>")
Alterações na versão Beta 3 para ASP.NET páginas da Web com sintaxe Razor
Alteração: método "HrefAttribute" removido
O
HrefAttributemétodo daWebPageclasse foi removido. Esse auxiliar foi usado para codificar caracteres não seguros em URLs. Não é mais necessário porque o ASP.NET Razor codifica automaticamente cadeias de caracteres. (Use o novoHtml.Rawmétodo para renderizar cadeias de caracteres não codificadas.)
Alteração: Sintaxe para auxiliares declarativos "@helper" alterada
Na versão Beta 3, o ASP.NET altera a forma como analisa os auxiliares criados usando a
@helpersintaxe. Em essência, a@helpersintaxe agora é analisada como um bloco de código em vez de como um bloco de marcação que pode incluir código. Portanto, o código dentro do auxiliar não precisa ser incluído em@{ }blocos. Por outro lado, a marcação dentro do auxiliar deve ser explicitamente incluída em elementos HTML ou em tags ASP.NET Razor<text></text>.Por exemplo, a sintaxe a seguir
@helperfunciona na versão Beta 3:@helper ThumbnailLink(string imagePath, int width, int height) { @{ string newFileName = ""; WebImage thumbnail = new WebImage(imagePath); if(thumbnail != null){ thumbnail.Resize(width, height, true, true); newFileName = @"~\thumb_" + Path.GetFileName(thumbnail.FileName); thumbnail.Save(newFileName); } } <a href="@Href(imagePath)"><img src="@Href(newFileName)" /></a> }Na versão Beta 3, esse auxiliar deve ser alterado para se parecer com o exemplo a seguir:
@helper ThumbnailLink(string imagePath, int width, int height) { string newFileName = ""; WebImage thumbnail = new WebImage(imagePath); if(thumbnail != null){ thumbnail.Resize(width, height, true, true); newFileName = @"~\thumb_" + Path.GetFileName(thumbnail.FileName); thumbnail.Save(newFileName); } <a href="@Href(imagePath)"><img src="@Href(newFileName)" /></a> }Observe que os
@{ }caracteres ao redor do código inicial no auxiliar não são mais usados. Isso ocorre porque o conteúdo dos auxiliares é tratado como um bloco de código por padrão. O auxiliar renderiza a marcação, que começa com a tag de abertura<a>. Se o auxiliar precisar renderizar texto sem formatação ou tags que não incluam uma tag de fechamento (por exemplo,<meta>tags), o conteúdo a ser renderizado deverá estar em<text></text>tags.
Alteração: "WebPageContext.HttpContext" removido
A
WebPageContext.HttpContextpropriedade foi removida. UtilizeHttpContext.Currentem substituição. (AWebPageContext.HttpContextpropriedade simplesmente embrulhou isso.)
Mudança: o auxiliar "Facebook" foi movido para o novo pacote
O
Alteração: os tipos Associação, Função e Segurança são movidos para um novo assembly
Os seguintes tipos foram movidos para a
WebMatrix.WebDatamontagem:
ExtendedMembershipProviderSimpleMembershipProviderSimpleRoleProviderWebSecurity
Alteração: classe "TagBuilder" movida para System.Web.WebPages.dll assembly
A
TagBuilderclasse foi transferida para a assembleia System.Web.WebPages.dll. Anteriormente, isso estava em uma montagem que fazia parte ASP.NET MVC. Essa alteração significa que você não precisa instalar ASP.NET MVC para usar aTagBuilderclasse.No entanto, a classe ainda está no
System.Web.Mvcnamespace. Para usar aTagBuilderclasse (por exemplo, em um auxiliar personalizado do ASP.NET Razor), você deve fazer referência ao namespace (por exemplo, adicionando@using System.Web.Mvcao seu código).
Alteração: Sintaxe de validação de solicitação alterada; Classe "Validação" removida
Na versão Beta 3, para desativar a validação de um campo individual ou conjunto de campos, você pode chamar o
Validation.Excludemétodo, passando o nome ou nomes dos campos a serem excluídos da validação. Uma nova sintaxe está disponível na versão Beta 3 para ignorar a validação. OValidationmétodo utilizado na versão Beta 3 foi removido.Observação
Se você não desativar a validação de solicitação, se os usuários tentarem carregar a marcação HTML (por exemplo, usando um editor de rich text em uma página), o site relatará um erro como Um valor Request.Form potencialmente perigoso foi detetado do cliente e a entrada do usuário não é aceita. Se você desabilitar a validação de solicitação, deverá verificar manualmente a entrada do usuário para certificar-se de que ela não contém marcação ou script potencialmente perigoso impedindo XSS (Cross-Site Scripting) no ASP.NET Core.
Para desabilitar a validação automática de solicitação, chame o
Request.Unvalidatedmétodo, passando-lhe o nome do campo ou outro objeto de postagem para o qual você deseja ignorar a validação de solicitação. Você pode usar esse método para ignorar a validação para quaisquer itens nasFormcoleções ,QueryString,CookieseServerVariables. Os exemplos a seguir mostram como usar oUnvalidatedmétodo:Request["userInput"]; // Validated Request.Unvalidated("userInput"); // Validation bypassed Request.Unvalidated().Form["userInput"]; // Validation bypassed Request.QueryString["userPreference"]; // Validated Request.Unvalidated().QueryString["userPreference"]; // Validation bypassed
Problemas conhecidos do ASP.NET páginas da Web com sintaxe Razor
Problema: comportamento inesperado ao usar uma tabela de usuário personalizada para associação
Para inicializar o provedor de associação para um site do ASP.NET Razor, chame o
WebSecurity.InitializeDatabaseConnectionmétodo. (No WebMatrix, o modelo Starter Site inclui uma chamada para esse método no arquivo _AppStart.cshtml .) Se oautoCreateTablesparâmetro desse método for definido como true (por padrão, ele será definido como true no modelo Starter Site) e se um nome de tabela não reconhecido for passado para o método (o segundo parâmetro), o método não lançará um erro. Em vez disso, ele cria automaticamente a tabela.Isso pode ser um problema se você pretende usar uma tabela de usuário personalizada para associação, mas passar o nome da tabela errado para o
WebSecurity.InitializeDatabaseConnectionmétodo. Como o método não gera, por padrão, um erro se a tabela especificada não existir e porque, em vez disso, cria uma nova tabela, o aplicativo pode parecer estar funcionando. No entanto, o código do aplicativo que depende da sua tabela de usuário personalizada (e dos campos nela) pode eventualmente falhar com erros inesperados.Solução
Certifique-se de que o nome passado no método corresponde àInitializeDatabaseConnectiontabela de perfil de usuário no banco de dados de associação ou certifique-se de que oautoCreateTablesparâmetro está definido como false.
Problema: erro "Falha ao gerar uma instância de usuário do SQL Server"
Se um aplicativo Web WebMatrix usa o SQL Server Express e está executando o IIS 7.5 no Windows 7 ou no Windows Server 2008 R2, você poderá ver um erro que indica que o SQL Server não pode recuperar o caminho do aplicativo local do usuário em tempo de execução.
Solução alternativa Verifique se a conta do Windows na qual o aplicativo é executado (normalmente SERVIÇO DE REDE) tem permissões de leitura/gravação para pastas raiz do aplicativo e para subpastas, como App_Data. Informações mais detalhadas estão disponíveis em Problemas com a instanciação de usuários do SQL Server Express e ASP.net projetos de aplicativos Web.
Problema: no Visual Studio, namespaces para assemblies personalizados (DLLs) não são importados automaticamente
Se você usar assemblies personalizados em um projeto no Visual Studio, os namespaces declarados nesses assemblies não serão importados automaticamente em tempo de design. Como resultado, as referências a tipos personalizados podem não ser reconhecidas em tempo de design e são marcadas como não reconhecidas no Visual Studio (usando um "squiggle"). Esse problema ocorre somente em tempo de design no Visual Studio; O aplicativo em si é executado corretamente.
Solução
Inclua umausinginstrução (importsno Visual Basic) que faz referência às entidades que não são reconhecidas em tempo de design.
Problema: Visual Studio IntelliSense e modelos de projeto disponíveis apenas no ASP.NET MVC versão 3
A instalação de ASP.NET páginas da Web também não instala ferramentas para o Visual Studio, como o IntelliSense, e modelos de projeto para ASP.NET aplicativos de páginas da Web.
Solução alternativa Para usar o IntelliSense e modelos de projeto para ASP.NET aplicativos de páginas da Web no Visual Studio, instale ASP.NET MVC 3 RC por meio do Web Platform Installer ou do instalador autônomo.
Problema: erro "<classe auxiliar> não pode ser encontrada"
Depois de atualizar para a versão Beta 3, poderá ver um erro a indicar que uma classe auxiliar (por exemplo, a
Solução
Comente chamadas para quaisquer auxiliares no site, execute a página _Admin e instale o pacote ou pacotes que incluem os auxiliares que você deseja usar. Depois de instalar o pacote, você pode descomentar as linhas que fazem referência aos auxiliares.
Problema: a implantação de assemblies Beta 3 ASP.NET Razor na pasta Bin pode não funcionar em sites de hospedagem
Se você implantar um site ASP.NET Páginas da Web em um site de hospedagem e implantar os assemblies do ASP.NET Razor Beta 3 na pasta Bin do site, poderá haver erros, incluindo os seguintes:
Could not load type 'Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility' from assembly 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.Isso pode acontecer se o provedor de hospedagem tiver instalado os assemblies ASP.NET Web Pages Beta 1 no cache global de aplicativos (GAC) do servidor. Os assemblies no GAC têm precedência sobre os assemblies instalados localmente na pasta Bin .
Solução alternativa Entre em contato com seu provedor de hospedagem para confirmar que os erros que você está vendo são devido a um conflito entre as versões do provedor dos assemblies e a sua. Em caso afirmativo, solicite que o provedor de hospedagem atualize os assemblies no GAC do servidor.
Problema: Ler feeds ou outros dados externos através de um servidor proxy
Se o servidor que executa o site estiver atrás de um servidor proxy, talvez seja necessário configurar as informações de proxy no arquivo deWeb.config para poder ler informações que vêm de fora do seu site. Por exemplo, se você usar o
ReCaptchaauxiliar, ele se comunicará com o serviço reCAPTCHA, mas poderá ser bloqueado pelo servidor proxy. Da mesma forma, os feeds usados em ASP.NET páginas da Web, como o feed usado pelo gerenciador de pacotes, podem exigir configuração de proxy.Se você tiver problemas ao trabalhar com um serviço externo ou com o feed de pacotes, coloque os seguintes elementos no arquivo deWeb.config raiz do seu aplicativo:
<system.net> <defaultProxy> <proxy autoDetect="False" proxyaddress="[proxy URL]"/> </defaultProxy> </system.net>Para obter mais informações sobre como configurar um servidor proxy, consulte <Elemento proxy> (configurações de rede) no site do MSDN.
Problema: erro "Microsoft.Web.Infrastructure.dll não pode ser carregado"
Se você instalou anteriormente a versão Beta 1 do ASP.NET Web Pages com sintaxe Razor e, em seguida, instalou a versão Beta 3, todos os assemblies apropriados são instalados no GAC, exceto Microsoft.Web.Infrastructure.dll. Como consequência, quando você executa ASP.NET páginas do Razor, você vê um erro que indica que Microsoft.Web.Infrastructure.dllnão pôde ser carregado.
Esse problema não ocorre se você carregou a versão Beta 3 em um computador limpo.
Solução
No Painel de Controle, desinstale ASP.NET Páginas da Web. Em seguida, reinstale a versão Beta 3.
Problema: desinstalar o .NET Framework versão 4 desativa ASP.NET páginas da Web com sintaxe Razor
Se desinstalar o .NET Framework versão 4 e, em seguida, reinstalá-lo, ASP.NET páginas Web com sintaxe Razor está desativado. Páginas com a extensão .cshtml não são executadas corretamente. ASP.NET Páginas da Web registra um assembly no arquivo deWeb.config raiz da máquina e remover o .NET Framework remove esse arquivo. Reinstalar o .NET Framework instala uma nova versão do arquivo de configuração, mas não adiciona a referência para o assembly de páginas da Web ASP.NET.
Solução alternativa Depois de reinstalar o .NET Framework, reinstale ASP.NET páginas da Web com sintaxe Razor. Isso adiciona o seguinte elemento ao arquivo Web.config na raiz da máquina, que normalmente está no seguinte local:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config (32-bit)
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config (64-bit)<compilation> <assemblies> <add assembly="Microsoft.WebPages.Configuration, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> <-- Additional assemblies here. --> </assemblies> </compilation>
Problema: os aplicativos implantados anteriormente com assemblies ASP.NET na pasta Bin apresentam erros
Durante a implantação, cópias dos assemblies ASP.NET Web Pages (por exemplo, Microsoft.WebPages.dll) para a pasta Bin do site no servidor. (Isso pode ter acontecido automaticamente durante a implantação ou porque o desenvolvedor copiou explicitamente os assemblies.) No entanto, quando a versão Beta 3 é instalada, ocorrem erros, como erros que certos tipos não podem ser encontrados. Isso ocorre porque vários tipos de páginas da Web ASP.NET foram movidos para namespaces diferentes para a versão Beta 3.
Solução
Limpe a pasta Bin do aplicativo implantado, copie os novos assemblies para a pasta (ou reimplante o aplicativo) e reinicie o aplicativo.
Problema: URLs sem extensão não encontram arquivos .cshtml/.vbhtml no IIS 7 ou IIS 7.5
No IIS 7 ou no IIS 7.5, as solicitações com uma URL como a seguinte não conseguem localizar páginas com a extensão .cshtml ou .vbhtml :
http://www.example.com/ExampleSite/ExampleFileO problema surge porque a reconfiguração de URL não está habilitada por padrão para o IIS 7 ou IIS 7.5. O cenário mais provável é que você não veja o problema ao testar localmente usando o IIS Express, mas o experimente quando implanta seu site em um site de hospedagem.
Solução
- Se você tiver controle sobre o computador servidor, instale no computador servidor a atualização descrita em Uma atualização está disponível que permite que determinados manipuladores do IIS 7.0 ou IIS 7.5 manipulem solicitações cujas URLs não terminam com um ponto.
- Se você não tiver controle sobre o computador servidor (por exemplo, estiver implantando em um site de hospedagem), adicione o seguinte ao arquivo deWeb.config do site:
<system.webServer> <modules runAllManagedModulesForAllRequests="true"/> </system.webServer>
Problema: usando o Web Application Project ou ASP.NET MVC e ASP.NET páginas da Web no mesmo aplicativo
Se você estava usando ASP.NET páginas da Web em um projeto de aplicativo Web ou ASP.NET aplicativo MVC, você pode ver um erro que WebPageHttpApplication não pode ser encontrado.
Solução
Se você receber esse erro, altere a classe base da qual o aplicativo deriva. No ficheiro Global.asax , altere a seguinte linha:public class MvcApplication : WebPageHttpApplication { ... }Para isso:
public class MvcApplication : HttpApplication { ... }Na verdade, isso reverte uma alteração que foi introduzida para a versão Beta 1 de ASP.NET páginas da Web com sintaxe Razor.
Problema: implantando um aplicativo em um computador que não tenha o SQL Server Compact instalado
Os aplicativos que incluem bancos de dados do SQL Server Compact podem ser executados em um computador onde o SQL Server Compact não está instalado. O Microsoft WebMatrix Beta 3 copia automaticamente esses binários para você e executa as transformações de arquivo Web.config apropriadas.
Solução alternativa Se você precisar copiar esses arquivos e fazer as alterações de arquivoWeb.config manualmente, faça o seguinte:
Copie os assemblies do mecanismo de banco de dados para a pasta Bin (e subpastas) do aplicativo no computador de destino:
- Copiar C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Desktop\System.Data.SqlServerCe.dllpara\Bin
- Copiar C:\Arquivos de Programas\Microsoft SQL Server Compact Edition\v4.0\Private\x86\* to\Bin\x86
- Copiar C:\Arquivos de Programas\Microsoft SQL Server Compact Edition\v4.0\Private\amd64\* to\Bin\amd64
Na pasta raiz do site, crie ou abra um arquivo Web.config . (No WebMatrix Beta 3, esse tipo de arquivo estará disponível se você clicar em Tudo na caixa de diálogo Escolher um tipo de arquivo .)
Adicione o seguinte elemento como filho do <elemento configuration> (não dentro do <elemento system.web> ):
<system.data> <DbProviderFactories> <remove invariant="System.Data.SqlServerCe.4.0"></remove> <add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.4.0" Description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/> </DbProviderFactories> </system.data>
Problema: Auxiliares de banco de dados e WebGrid não funcionam no Medium Trust no Visual Basic
Se você estiver usando o Visual Basic (criando arquivos .vbhtml ), os
Databaseauxiliares eWebGridnão funcionarão se o aplicativo estiver definido para usar Confiança Média.Solução
Configure temporariamente o aplicativo para usar a Confiança Total.
SQL Server Compact
Problema: a propriedade "Encrypt" não é reconhecida
O SQL Server Compact 4.0 não reconhece a
Encryptpropriedade daSqlCeConnectionclasse. Você não deve usar essa propriedade para criptografar arquivos de banco de dados. AEncryptpropriedade foi preterida na versão 3.5 do SQL Server Compact e foi mantida apenas para compatibilidade com versões anteriores.Solução
Use aEncryption Modepropriedade da classe para criptografar arquivos de banco de dados doSqlCeConnectionSQL Server Compact 4.0. O exemplo a seguir mostra como criar um banco de dados SQL Server Compact 4.0 criptografado usando aEncryption Modepropriedade:SqlCeEngine engine = new SqlCeEngine("Data Source=Northwind.sdf;encryption mode=platform default;Password=;p;w;here;>;"); engine.CreateDatabase();Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;encryption mode=platform default;Password=Password=;p;w;here;>;") engine.CreateDatabase()Para alterar o modo de criptografia de um banco de dados existente do SQL Server Compact 4.0, faça o seguinte:
SqlCeEngine engine = new SqlCeEngine("Data Source=Northwind.sdf;Password=Password=;p;w;here;>;"); engine.Compact("Data Source=Northwind.sdf;encryption mode=ppc2003 compatibility;Password=Password=;p;w;here;>;");Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;Password=Password=;p;w;here;>;") engine.Compact("Data Source=Northwind.sdf;encryption mode=ppc2003 compatibility;Password=Password=;p;w;here;>;")Para criptografar um banco de dados SQL Server Compact 4.0 não criptografado, faça o seguinte:
SqlCeEngine engine = new SqlCeEngine("Data Source=Northwind.sdf"); engine.Compact("Data Source=Northwind.sdf;encryption mode=platform default;Password=;p;w;here;>;");Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;") engine.Compact("Data Source=Northwind.sdf;encryption mode=platform default;Password=;p;w;here;>;")
Problema: as bibliotecas de tempo de execução do Microsoft Visual C++ 2008 são necessárias
As DLLs nativas do SQL Server Compact 4.0 precisam das bibliotecas de tempo de execução do Microsoft Visual C++ 2008 (x86, IA64 e x64), Service Pack 1.
Solução
Instale o .NET Framework 3.5 SP1. Isso também instala o Visual C++ 2008 Runtime Libraries SP1. Você pode baixar as bibliotecas do seguinte local:Atualização de segurança do Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package ATL
Observação
Observe que a instalação do .NET Framework 2.0, 3.0 ou 4 não instala o Visual C++ 2008 Runtime Libraries SP1.
Problema: se o SQL Server Compact for instalado antes da instalação do .NET Framework no computador, o nome invariante do provedor não será registrado no arquivo de machine.config do .NET Framework
O SQL Server Compact pode ser instalado em uma máquina que não tenha o .NET Framework instalado porque o SQL Server Compact requer o .NET framework. Se nem o .NET Framework versão 3.5 nem o .NET 4 estiverem instalados antes de instalar o SQL Server Compact, a Instalação do SQL Server Compact não registrará seu nome invariante de provedor no arquivo machine.config . Qualquer aplicativo que dependa da entrada do SQL Server Compact no arquivo machine.config falhará. A entrada de registro de nome invariante no machine.config se parece com o exemplo a seguir:
<system.data> <DbProviderFactories> <remove invariant="System.Data.SqlServerCe.4.0"></remove> <add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.4.0" Description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/> </DbProviderFactories> </system.data>Solução
Desinstale o SQL Server Compact 4.0 CTP1. Transfira e instale as versões completas do .NET Framework a partir da seguinte localização:Microsoft .NET Framework 3.5 Service Pack 1 (pacote completo)
Versão do Microsoft .NET Framework 4.0 (pacote completo)Em seguida, reinstale o SQL Server Compact 4.0 SP1.
Instalando aplicativos
Problema: a instalação de um aplicativo pode levar muito tempo se a pasta Meus Documentos do usuário for redirecionada para um compartilhamento de rede
Solução
Nenhum. O aplicativo pode demorar um pouco para instalar, mas será instalado corretamente.
Aplicativos de publicação
Problema: o site pode não funcionar após a publicação se o campo "URL de destino" não estiver prefixado com http:// ou https://
Na caixa de diálogo Configurações de Publicação , se a URL de destino não começar com
http://ouhttps://, o site pode não funcionar após a implantação.Solução
Certifique-se de que, antes de publicar um site, o URL de destino na caixa de diálogo Configurações de publicação começa comhttp://ouhttps://.
Problema: A publicação de um banco de dados MySQL falha com o erro "Falha ao publicar o banco de dados. Isso pode acontecer se o banco de dados remoto não puder executar o script."
O erro pode ocorrer por vários motivos. Uma razão pela qual você pode ver esse erro é se o script de banco de dados contém um único caractere de aspas (') e o conjunto de caracteres padrão do banco de dados MySQL de destino não é UTF-8.
Solução
Defina o conjunto de caracteres padrão para o banco de dados MySQL remoto como UTF-8.
Outros Problemas
Problema: a Pesquisa/Filtro não funciona em Relatórios para Agrupar Por: Tipo de Problema
Quando você executa um relatório para um site, se você inserir texto na caixa Filtrar por URL e clicar em Pesquisar, nada acontece. Isso ocorre porque esse controle não é funcional enquanto o estado Agrupar por do relatório está definido como Tipo de Problema, que é o padrão.
Solução alternativa Na guia Agrupar por da faixa de opções, clique em URL para agrupar as entradas pela URL de origem. A caixa de texto e o botão para filtrar as entradas são funcionais enquanto estiverem nesse estado.
Problema: os aplicativos WCF não são executados com o IIS Express
Navegar para um aplicativo WCF resulta em um erro como o seguinte:
Não foi possível carregar o arquivo ou assembly 'Microsoft.Web.Administration, Version=7.0.0.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35' ou uma de suas dependências. O sistema não consegue encontrar o ficheiro especificado.
Isso ocorre porque a versão beta do IIS Express não oferece suporte ao WCF por padrão.
Solução alternativa Use qualquer uma das seguintes soluções alternativas (a solução alternativa #2 requer o Microsoft Windows Vista ou superior):
Copie os assemblies Microsoft.Web.dll e Microsoft.Web.Administration.dll do local de instalação do WebMatrix para o diretório bin do aplicativo WCF. Por padrão, o WebMatrix é instalado na subpasta Microsoft WebMatrix na pasta Arquivos de Programas do sistema.
No Microsoft Windows Vista ou superior, crie um link simbólico para os assemblies no diretório bin usando os seguintes comandos. (Essa abordagem tem a vantagem de não criar uma cópia dos assemblies.)
mklink Microsoft.Web.Administration.dll "c:\Program Files (x86)\Microsoft WebMatrix\Microsoft.Web.Administration.dll" mklink Microsoft.Web.dll "c:\Program Files (x86)\Microsoft WebMatrix\Microsoft.Web.dll"Instale os dois assemblies no GAC. Em um prompt elevado, execute os seguintes comandos:
gacutil /i "c:\Program Files (x86)\Microsoft WebMatrix\Microsoft.Web.Administration.dll" gacutil /i "c:\Program Files (x86)\Microsoft WebMatrix\Microsoft.Web.dll"
Problema: o WebMatrix Beta 3 não consegue executar determinadas tarefas que exigem elevação
O WebMatrix Beta 3 não consegue executar determinadas tarefas que exigem elevação, como instalar componentes adicionais nas seguintes situações:
- No Windows Vista ou Windows 7, você está conectado com uma conta que não tem privilégios administrativos e o Controle de Conta de Usuário (UAC) está desabilitado.
- Você está usando o Microsoft Windows XP ou Microsoft Windows Server 2003.
Solução
A maioria das tarefas no WebMatrix Beta 3 não requer permissão administrativa. Para aqueles que o fazem, você pode executar a operação como um administrador ou siga estas etapas:
- No Windows Vista ou Windows 7, habilite o UAC.
- No Windows XP, adicione o usuário ao grupo de segurança Administradores.
Problema: "Site da Galeria da Web" está desativado
A opção Site da Galeria da Web será desativada se o Web Platform Installer 3.0 não estiver instalado.
Solução
Instale o Microsoft Web Platform Installer 3.0.
Problema: no Windows Server 2003, o IIS Express não é iniciado para um usuário não administrativo
No Windows Server 2003, quando você inicia uma página ou inicia o IIS Express, o IIS Express não é iniciado. Para páginas da Web, é exibido um erro que indica que o aplicativo foi iniciado por um usuário não administrativo.
Solução
Inicie o WebMatrix Beta 3 como um usuário administrativo.
Problema: o Google Chrome não está disponível como opção Executar
O Google Chrome não é apresentado na lista de navegadores em Executar no separador Base .
Solução
Algumas versões do Google Chrome não se registam corretamente na funcionalidade Programas Predefinidos no Windows. Como solução alternativa, inicie o Google Chrome, clique no menu Personalizar e controlar o Google Chrome , clique em Opções e, em seguida, clique em Tornar o Google Chrome o meu navegador predefinido.
Problema: a caixa de diálogo "Chave estrangeira" não permite inserir uma chave primária
A caixa de diálogo Chave Estrangeira não permite inserir o nome da chave primária na tabela de chaves primárias.
Solução
Isto é intencional. Não é necessário inserir o nome da chave primária na tabela de chaves primárias.
Problema: o botão "Relacionamentos" está desativado
O botão Relações na guia Tabela no espaço de trabalho Bancos de dados está desabilitado para bancos de dados SQL Server Compact.
Solução
Nenhum. O SQL Server Compact não oferece suporte a relações entre tabelas.
Problema: consultas SQL parametrizadas geram exceções
No SQL Server Compact 4.0, se você não especificar um tipo de dados como
SqlDbTypeouDbTypepara parâmetros em consultas parametrizadas, uma exceção será lançada quando a consulta for executada.Solução
Defina explicitamente o tipo de dados para parâmetros comoSqlDbTypeouDbType. Isso é crítico no caso de tipos de dados BLOB (imageentext). Use um código como o seguinte:SqlCeEngine engine = new SqlCeEngine(connString); engine.CreateDatabase(); engine.Dispose(); SqlCeConnection conn = new SqlCeConnection(connString); conn.Open(); SqlCeCommand cmd = conn.CreateCommand(); cmd.CommandText = "CREATE TABLE BlobTable(name nvarchar(128), blob ntext);"; cmd.ExecuteNonQuery(); cmd.CommandText = "INSERT INTO BlobTable(name, blob) VALUES (@name, @blob);"; SqlCeParameter paramName = cmd.Parameters.Add("name", SqlDbType.NVarChar, 128); SqlCeParameter paramBlob = cmd.Parameters.Add("blob", SqlDbType.NText); paramName.Value = "Name1"; paramBlob.Value = "Name1".PadLeft(4001); cmd.ExecuteNonQuery();Dim engine As SqlCeEngine = New SqlCeEngine(connString) engine.CreateDatabase() engine.Dispose() Dim conn As SqlCeConnection = New SqlCeConnection(connString) conn.Open() Dim cmd As SqlCeCommand = conn.CreateCommand() cmd.CommandText = "CREATE TABLE BlobTable(name nvarchar(128), blob ntext);" cmd.ExecuteNonQuery() cmd.CommandText = "INSERT INTO BlobTable(name, blob) VALUES (@name, @blob);" Dim paramName As SqlCeParameter Dim paramBlob As SqlCeParameterparamName = cmd.Parameters.Add("name", SqlDbType.NVarChar, 128) paramName.Value = "Name1" paramBlob = cmd.Parameters.Add("blob", SqlDbType.NText) paramBlob.Value = "Name1".PadLeft(4001) cmd.ExecuteNonQuery()
Para mais informações
Para obter mais informações sobre o WebMatrix Beta 3, consulte os seguintes sites: