Leiame do Web Matrix e de Páginas da Web do ASP.NET (Razor) versão beta 3
Leiame do Web Matrix e de Páginas da Web do ASP.NET (Razor) versão beta 3
9 de novembro de 2010
O Microsoft WebMatrix Beta é uma pilha de desenvolvimento web gratuita que é instalada 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 software livre, como DotNetNuke, Umbraco, WordPress ou Joomla. O WebMatrix Beta usa o mesmo servidor Web poderoso, 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 contínua.
Observação
O WebMatrix não é mais recomendado como um ambiente de desenvolvimento integrado para ASP.NET páginas da Web. Use o Visual Studio ou o Visual Studio Code.
Se você tiver problemas durante a instalação, consulte Solução de problemas com o Microsoft Web Platform Installer.
Problema: o WebMatrix Beta 3 só está disponível em plataformas compatíveis com o Microsoft .NET Framework 4
O .NET Framework versão 4 é necessário para o WebMatrix Beta. Em determinados casos, o instalador do WebMatrix Beta permitirá que você tente instalar em uma plataforma que não faz parte do conjunto de configurações com suporte. 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 alternativa
Instale em uma plataforma compatível, que inclui:
- Windows 7
- Windows Server 2008
- Windows Server 2008 R2
- Windows Vista SP1 ou posterior
- Windows 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 alternativa
Instale o Microsoft Visual Studio 2008 Service Pack 1 a partir do Centro de Download da Microsoft.
Os assemblies gerenciados do SQL Server Compact 4.0 não são colocados no GAC (cache de assembly global) quando você instala o SQL Server Compact 4.0 em um computador de 64 bits e o computador tem apenas o Perfil de Cliente do .NET Framework 3.5 SP1 instalado. Os assemblies gerenciados que não estão instalados no GAC são:
- System.Data.SqlServerCe.dll (provedor ADO.NET)
- System.Data.SqlServerCe.Entity.dll (ADO.NET Entity Framework )
Solução alternativa
Desinstale o SQL Server Compact 4.0. Baixe e instale a versão completa do .NET Framework 3.5 SP1 no seguinte local:Microsoft .NET Framework 3.5 Service pack 1 (pacote completo)
Em seguida, reinstale o SQL Server Compact 4.0.
A desinstalação do SQL Server Compact usando opções de linha de comando não funciona nesta versão.
Solução alternativa
Use Programas e Recursos no Painel de Controle do Windows para desinstalar o Microsoft SQL Server Compact 4.0.
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.
O novo
Html.Raw
método permite renderizar a marcação HTML como marcação em vez de renderizar a saída codificada. (Por padrão, ASP.NET Razor codifica cadeias de caracteres antes de renderizá-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>")
O
HrefAttribute
método daWebPage
classe foi removido. Esse auxiliar foi usado para codificar caracteres não seguros em URLs. Ele não é mais necessário porque ASP.NET Razor codifica automaticamente cadeias de caracteres. (Use o novoHtml.Raw
método para renderizar cadeias de caracteres não codificadas.)
Na versão Beta 3, ASP.NET altera a forma como analisa os auxiliares criados usando a
@helper
sintaxe. Em essência, a@helper
sintaxe agora é analisada como um bloco de código em vez de um bloco de marcação que pode incluir código. Portanto, o código dentro do auxiliar não precisa ser colocado em@{ }
blocos. Por outro lado, a marcação dentro do auxiliar deve ser explicitamente incluída em elementos HTML ou em marcas ASP.NET Razor<text></text>
.Por exemplo, a seguinte
@helper
sintaxe funciona 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.
A propriedade
WebPageContext.HttpContext
foi removida. Use oHttpContext.Current
em vez disso. (AWebPageContext.HttpContext
propriedade simplesmente embrulhou isso.)
O
Os seguintes tipos foram movidos para o
WebMatrix.WebData
assembly:
ExtendedMembershipProvider
SimpleMembershipProvider
SimpleRoleProvider
WebSecurity
A
TagBuilder
classe foi transferida para a assembleia System.Web.WebPages.dll. Anteriormente, isso estava em um assembly que fazia parte de ASP.NET MVC. Essa alteração significa que você não precisa instalar ASP.NET MVC para usar aTagBuilder
classe.No entanto, a classe ainda está no
System.Web.Mvc
namespace. Para usar aTagBuilder
classe (por exemplo, em um auxiliar Razor de ASP.NET personalizado), você deve fazer referência ao namespace (por exemplo, adicionando@using System.Web.Mvc
ao seu código).
Na versão Beta 3, para desabilitar a validação de um campo individual ou conjunto de campos, você pode chamar o
Validation.Exclude
mé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. OValidation
método usado no Beta 3 foi removido.Observação
Se você não desabilitar 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 detectado no cliente e a entrada do usuário não será aceita. Se você desabilitar a validação de solicitação, deverá verificar manualmente a entrada do usuário para garantir que ela não contenha marcação ou script potencialmente perigoso impedindo o XSS (Cross-Site Scripting) no ASP.NET Core.
Para desabilitar a validação automática de solicitação, chame o
Request.Unvalidated
método, passando o nome do campo ou outro objeto post para o qual você deseja ignorar a validação da solicitação. Você pode usar esse método para ignorar aForm
validação de qualquer item nas coleções ,QueryString
,Cookies
, eServerVariables
. Os exemplos a seguir mostram como usar oUnvalidated
mé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
Para inicializar o provedor de associação para um site do ASP.NET Razor, chame o
WebSecurity.InitializeDatabaseConnection
método. (No WebMatrix, o modelo Site Inicial inclui uma chamada para esse método no arquivo _AppStart.cshtml .) Se oautoCreateTables
parâmetro desse método for definido como true (por padrão, ele é definido como true no modelo Site Inicial) e se um nome de tabela não reconhecido for passado para o método (o segundo parâmetro), o método não gerará 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 passa o nome de tabela errado para o
WebSecurity.InitializeDatabaseConnection
método. Como o método não gera, por padrão, um erro se a tabela especificada não existir e, em vez disso, cria uma nova tabela, o aplicativo pode parecer estar funcionando. No entanto, o código do aplicativo que depende de sua tabela de usuário personalizada (e de campos nela) pode eventualmente falhar com erros inesperados.Solução alternativa
Verifique se o nome passado noInitializeDatabaseConnection
método corresponde à tabela de perfil de usuário no banco de dados de associação ou se oautoCreateTables
parâmetro está definido como false.
Se um aplicativo Web WebMatrix usar o SQL Server Express e estiver executando o IIS 7.5 no Windows 7 ou 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 Certifique-se de que a conta do Windows na qual o aplicativo é executado (normalmente SERVIÇO DE REDE) tenha 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ário do SQL Server Express e ASP.net projetos de aplicativo Web.
Problema: no Visual Studio, os 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 "rabisco"). Esse problema ocorre somente em tempo de design no Visual Studio; O aplicativo em si é executado corretamente.
Solução alternativa
Inclua umausing
instrução (imports
no Visual Basic) que faça referência às entidades que não são reconhecidas em tempo de design.
Problema: o Visual Studio IntelliSense e os modelos de projeto estão disponíveis somente no MVC versão 3 ASP.NET
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 aplicativos de Páginas da Web ASP.NET.
Solução alternativa Para usar o IntelliSense e modelos de projeto para aplicativos de Páginas da Web ASP.NET no Visual Studio, instale ASP.NET MVC 3 RC por meio do Instalador de Plataforma Web ou do instalador autônomo.
Depois de atualizar para o Beta 3, você pode ver um erro informando que uma classe auxiliar (por exemplo, a
Solução alternativa
Comente as chamadas para todos os 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 remover o comentário das linhas que fazem referência a 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 de Páginas da Web do ASP.NET em um site de hospedagem e implantar os assemblies ASP.NET Razor Beta 3 na pasta Bin do site, poderá ocorrer erros, incluindo o seguinte:
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 Páginas da Web Beta 1 no GAC (cache de aplicativo global) 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 se os erros que você está vendo são devidos 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.
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 Web.config para poder ler as informações que vêm de fora do site. Por exemplo, se você usar o
ReCaptcha
auxiliar, o auxiliar se comunicará com o serviço reCAPTCHA, mas poderá ser bloqueado pelo servidor proxy. Da mesma forma, os feeds usados em páginas da Web ASP.NET, 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 Web.config raiz do 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.
Se você instalou anteriormente a versão Beta 1 de ASP.NET Páginas da Web com sintaxe Razor e, em seguida, instalou a versão Beta 3, todos os assemblies apropriados serão instalados no GAC, exceto Microsoft.Web.Infrastructure.dll. Como consequência, ao executar ASP.NET páginas Razor, você vê um erro que indica que Microsoft.Web.Infrastructure.dll não pôde ser carregado.
Esse problema não ocorre se você carregou a versão Beta 3 em um computador limpo.
Solução alternativa
No Painel de Controle, desinstale ASP.NET Páginas da Web. Em seguida, reinstale a versão Beta 3.
Problema: a desinstalação do .NET Framework versão 4 desabilita ASP.NET páginas da Web com sintaxe Razor
Se você desinstalar o .NET Framework versão 4 e reinstalá-lo, ASP.NET Páginas da Web com sintaxe Razor será desabilitada. As páginas com a extensão .cshtml não são executadas corretamente. ASP.NET Páginas da Web registra um assembly no arquivo Web.config raiz do computador e a remoção do .NET Framework remove esse arquivo. A reinstalação do .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 a sintaxe Razor. Isso adiciona o seguinte elemento ao arquivo Web.config na raiz do computador, 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, as cópias dos assemblies de Páginas da Web ASP.NET (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 de que determinados 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 alternativa
Limpe a pasta Bin do aplicativo implantado, copie os novos assemblies para a pasta (ou reimplante o aplicativo) e reinicie o aplicativo.
No IIS 7 ou IIS 7.5, as solicitações com uma URL como a seguinte não conseguem encontrar páginas que tenham a extensão .cshtml ou .vbhtml :
http://www.example.com/ExampleSite/ExampleFile
O 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 você o experimenta ao implantar seu site em um site de hospedagem.
Solução alternativa
- Se você tiver controle sobre o computador servidor, instale no computador servidor a atualização descrita em Uma atualização disponível que permite que determinados manipuladores do IIS 7.0 ou IIS 7.5 lidem com solicitações cujas URLs não terminam com um ponto.
- Se você não tiver controle sobre o computador servidor (por exemplo, se estiver implantando em um site de hospedagem), adicione o seguinte ao arquivo Web.config do site:
<system.webServer> <modules runAllManagedModulesForAllRequests="true"/> </system.webServer>
Problema: usando o projeto de aplicativo Web 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, poderá ver um erro informando que WebPageHttpApplication não pode ser encontrado.
Solução alternativa
Se você receber esse erro, altere a classe base da qual o aplicativo deriva. No arquivo 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.
Os aplicativos que incluem bancos de dados do SQL Server Compact podem ser executados em um computador em que 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 do arquivo Web.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:
- Copie C:\Arquivos de Programas\Microsoft SQL Server Compact Edition\v4.0\Desktop\System.Data.SqlServerCe.dll para \Bin
- Copie C:\Arquivos de Programas\Microsoft SQL Server Compact Edition\v4.0\Private\x86\* to \Bin\x86
- Copie 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 de configuração> (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: os auxiliares do banco de dados e do WebGrid não funcionam na confiança média no Visual Basic
Se você estiver usando o Visual Basic (criando arquivos .vbhtml ), os
Database
auxiliares eWebGrid
não funcionarão se o aplicativo estiver definido para usar a Confiança Média.Solução alternativa
Defina temporariamente o aplicativo para usar a Confiança Total.
O SQL Server Compact 4.0 não reconhece a
Encrypt
propriedade daSqlCeConnection
classe. Você não deve usar essa propriedade para criptografar arquivos de banco de dados. AEncrypt
propriedade foi preterida na versão 3.5 do SQL Server Compact e foi mantida apenas para compatibilidade com versões anteriores.Solução alternativa
Use aEncryption Mode
SqlCeConnection
propriedade da classe para criptografar arquivos de banco de dados do SQL Server Compact 4.0. O exemplo a seguir mostra como criar um banco de dados criptografado do SQL Server Compact 4.0 usando aEncryption Mode
propriedade:SqlCeEngine engine = new SqlCeEngine("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;"); engine.CreateDatabase();
Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;") engine.CreateDatabase()
Para alterar o modo de criptografia de um banco de dados SQL Server Compact 4.0 existente, faça o seguinte:
SqlCeEngine engine = new SqlCeEngine("Data Source=Northwind.sdf;Password=<enterStrongPasswordHere>;"); engine.Compact("Data Source=Northwind.sdf;encryption mode=ppc2003 compatibility;Password=<enterStrongPasswordHere>;");
Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;Password=<enterStrongPasswordHere>;") engine.Compact("Data Source=Northwind.sdf;encryption mode=ppc2003 compatibility;Password=<enterStrongPasswordHere>;")
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=<enterStrongPasswordHere>;");
Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;") engine.Compact("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;")
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 alternativa
Instale o .NET Framework 3.5 SP1. Isso também instala as Bibliotecas de Tempo de Execução do Visual C++ 2008 SP1. Você pode baixar as bibliotecas do seguinte local:Atualização de segurança da ATL do pacote redistribuível do Microsoft Visual C++ 2008 Service Pack 1
Observação
Observe que a instalação do .NET Framework 2.0, 3.0 ou 4 não instala as Bibliotecas de Tempo de Execução do Visual C++ 2008 SP1.
Problema: se o SQL Server Compact for instalado antes da instalação do .NET Framework no computador, o nome invariável do provedor não será registrado no arquivo machine.config do .NET Framework
O SQL Server Compact pode ser instalado em um computador que não tenha o .NET Framework instalado, pois o SQL Server Compact requer o .NET Framework. Se nem o .NET Framework versão 3.5 nem o 4 estiverem instalados antes da instalação do SQL Server Compact, a Instalação do SQL Server Compact não registrará seu nome invariável do 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 invariável em machine.config é semelhante ao 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 alternativa
Desinstale o SQL Server Compact 4.0 CTP1. Baixe e instale as versões completas do .NET Framework no seguinte local: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.
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 alternativa
Nenhum. O aplicativo pode demorar um pouco para ser instalado, mas será instalado corretamente.
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 poderá não funcionar após a implantação.Solução alternativa
Certifique-se de que, antes de publicar um site, o URL de destino na caixa de diálogo Configurações de publicação comece 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. Um motivo pelo qual você pode ver esse erro é se o script do banco de dados contiver um caractere de aspas simples (') e o conjunto de caracteres padrão do banco de dados MySQL de destino não for UTF-8.
Solução alternativa
Defina o conjunto de caracteres padrão para o banco de dados MySQL remoto como UTF-8.
Quando você executa um relatório para um site, se inserir texto na caixa Filtrar por URL e clicar em Pesquisar, nada acontecerá. Isso ocorre porque esse controle não funciona 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 por URL de origem. A caixa de texto e o botão para filtrar as entradas funcionam nesse estado.
Navegar até 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 pode encontrar o arquivo especificado.
Isso ocorre porque a versão beta do IIS Express não dá suporte ao WCF por padrão.
Solução alternativa Use qualquer uma das seguintes soluções alternativas (a solução #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 comandos a seguir. (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 com privilégios elevados, 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"
O WebMatrix Beta 3 não pode executar determinadas tarefas que exigem elevação, como a instalação de 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 UAC (Controle de Conta de Usuário) está desabilitado.
- Você está usando o Microsoft Windows XP ou o Microsoft Windows Server 2003.
Solução alternativa
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 administrador ou seguir estas etapas:
- No Windows Vista ou Windows 7, habilite o UAC.
- No Windows XP, adicione o usuário ao grupo de segurança Administradores.
A opção Site da Web Gallery será desativada se o Web Platform Installer 3.0 não estiver instalado.
Solução alternativa
Instale o Microsoft Web Platform Installer 3.0.
No Windows Server 2003, quando você inicia uma página ou inicia o IIS Express, o IIS Express não é iniciado. No caso de páginas da Web, um erro é exibido indicando que o aplicativo foi iniciado por um usuário não administrativo.
Solução alternativa
Inicie o WebMatrix Beta 3 como um usuário administrativo.
O Google Chrome não é exibido na lista de navegadores em Executar na guia Página inicial .
Solução alternativa
Algumas versões do Google Chrome não se registram corretamente com o recurso Programas Padrão 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 meu navegador padrão.
A caixa de diálogo Chave Estrangeira não permite que você insira o nome da chave primária da tabela de chaves primárias.
Solução alternativa
Isso é intencional. Você não precisa inserir o nome da chave primária da tabela de chaves primárias.
O botão Relações na guia Tabela no espaço de trabalho Bancos de Dados está desabilitado para bancos de dados do SQL Server Compact.
Solução alternativa
Nenhum. O SQL Server Compact não oferece suporte a relações entre tabelas.
No SQL Server Compact 4.0, se você não especificar um tipo de dados como
SqlDbType
ouDbType
para parâmetros em consultas parametrizadas, uma exceção será lançada quando a consulta for executada.Solução alternativa
Defina explicitamente o tipo de dados para parâmetros comoSqlDbType
ouDbType
. Isso é crítico no caso de tipos de dados BLOB (image
entext
). 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 obter mais informações sobre o WebMatrix Beta 3, consulte os seguintes sites: