Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Webbmatris och ASP.NET webbsidor (Razor) Beta 3 Release Readme
den 9 november 2010
Innehåll
Översikt
Microsoft WebMatrix Beta är en kostnadsfri webbutvecklingsstack som installeras på några minuter. Den integrerar en webbserver med databas- och programmeringsramverk för att skapa en enda integrerad upplevelse. Du kan använda WebMatrix Beta för att effektivisera ditt sätt att koda, testa och publicera din egen ASP.NET- eller PHP-webbplats, eller så kan du använda WebMatrix Beta för att starta en ny webbplats med populära appar med öppen källkod som DotNetNuke, Umbraco, WordPress eller Joomla. WebMatrix Beta använder samma kraftfulla webbserver, databasmotor och ramverksmiljö som kör din webbplats på Internet, vilket gör övergången från utveckling till produktion smidig och smidig.
Installation
Anmärkning
WebMatrix rekommenderas inte längre som en integrerad utvecklingsmiljö för ASP.NET webbsidor. Använd Visual Studio eller Visual Studio Code.
Om du har problem under installationen kan du läsa Felsöka problem med Installationsprogrammet för Microsoft Web Platform.
Instruktioner för publicering av program
Nya funktioner, ändringar och kända problem
WebMatrix Beta 3 Installation
Problem: WebMatrix Beta 3 är endast tillgängligt på plattformar som stöder Microsoft .NET Framework 4
.NET Framework version 4 krävs för WebMatrix Beta. I vissa fall gör installationsprogrammet för WebMatrix Beta att du kan försöka installera på en plattform som inte ingår i konfigurationsuppsättningen som stöds. I synnerhet gör Windows Vista utan SP1-uppdateringen att du kan börja installera WebMatrix Beta, men .NET Framework 4-komponenten misslyckas och blockerar installationen.
Lösning
Installera på en plattform som stöds, vilket omfattar:
- Windows 7
- Windows Server 2008
- Windows Server 2008 R2
- Windows Vista SP1 eller senare
- Windows XP SP3
- Windows Server 2003 SP2
Problem: Det går inte att installera WebMatrix Beta 3 om Microsoft Visual Studio 2008 har installerats utan Microsoft Visual Studio 2008 SP1
Lösning
Installera Microsoft Visual Studio 2008 Service Pack 1 från Microsoft Download Center.
Problem: Vissa sammansättningar för SQL Server Compact 4.0 är inte installerade i GAC
De hanterade sammansättningarna för SQL Server Compact 4.0 placeras inte i den globala sammansättningscachen (GAC) när du installerar SQL Server Compact 4.0 på en 64-bitars dator och datorn bara har .NET Framework 3.5 SP1-klientprofilen installerad. De hanterade sammansättningar som inte är installerade i GAC är:
- System.Data.SqlServerCe.dll (ADO.NET leverantör)
- System.Data.SqlServerCe.Entity.dll (ADO.NET Entity Framework)
Lösning
Avinstallera SQL Server Compact 4.0. Ladda ned och installera den fullständiga versionen av .NET Framework 3.5 SP1 från följande plats:Microsoft .NET Framework 3.5 Service Pack 1 (fullständigt paket)
Installera sedan om SQL Server Compact 4.0.
Problem: Det går inte att avinstallera SQL Server Compact med hjälp av kommandoraden
Avinstallation av SQL Server Compact med kommandoradsalternativ fungerar inte i den här versionen.
Lösning
Använd Program och funktioner i Windows-kontrollpanelen för att avinstallera Microsoft SQL Server Compact 4.0.
ASP.NET webbsidor
Det här avsnittet i dokumentet beskriver nya funktioner, ändringar och kända problem med Beta 3-versionen av ASP.NET webbsidor med Razor-syntax.
Nya funktioner i Beta 3 för ASP.NET webbsidor med Razor-syntax
Ny: Metoden "Html.Raw" återger okodad markering
Med den nya
Html.Rawmetoden kan du rendera HTML-kod som markering i stället för att återge kodade utdata. (Som standard kodar ASP.NET Razor strängar innan de återges.) Syntaxen är:
Html.Raw(value)I följande exempel visas hur du använder
Html.Raw:@* Inserts literal markup into the page as specified in the value string. *@ @Html.Raw("<div>Hello <em>world</em>!</div>")
Ändringar i Beta 3 för ASP.NET webbsidor med Razor-syntax
Ändring: Metoden "HrefAttribute" har tagits bort
-
HrefAttributemetoden förWebPageklassen har tagits bort. Den här hjälpen användes för att koda osäkra tecken i URL:er. Det krävs inte längre eftersom ASP.NET Razor automatiskt kodar strängar. (Använd den nyaHtml.Rawmetoden för att återge okodade strängar.)
Ändring: Syntaxen för deklarativa "@helper"-hjälparna har ändrats
I betaversionen 3 ändrar ASP.NET hur den parsar hjälpare som skapas med hjälp av syntaxen
@helper. I grund och botten parsas syntaxen@helpernu som ett kodblock i stället för som ett markeringsblock som kan innehålla kod. Därför behöver kod i hjälpen inte omges av@{ }block. Omvänt måste markeringar i hjälpen uttryckligen inkluderas i HTML-element eller i ASP.NET Razor-taggar<text></text>.Följande syntax fungerar till exempel
@helperi Beta 3-versionen:@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> }I betaversionen 3 måste den här hjälpen ändras så att den ser ut som i följande exempel:
@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> }Observera att
@{ }tecknen runt den första koden i hjälpen inte längre används. Det beror på att innehållet i hjälparna behandlas som ett kodblock som standard. Hjälpen renderar markering, som börjar med den inledande<a>taggen. Om hjälpen måste återge oformaterad text eller taggar som inte innehåller en avslutande tagg (till exempel<meta>taggar) måste innehållet som återges finnas i<text></text>taggar.
Ändra: "WebPageContext.HttpContext" har tagits bort
Egenskapen
WebPageContext.HttpContexthar tagits bort. AnvändHttpContext.Currenti stället. (EgenskapenWebPageContext.HttpContexthar helt enkelt omslutit detta.)
Ändra: "Facebook"-hjälpen har flyttats till ett nytt paket
Hjälpen
Ändra: Typerna Medlemskap, Roll och Säkerhet flyttas till ny sammansättning
Följande typer flyttades till
WebMatrix.WebDatasammansättningen:
ExtendedMembershipProviderSimpleMembershipProviderSimpleRoleProviderWebSecurity
Ändra: Klassen "TagBuilder" har flyttats till System.Web.WebPages.dll sammansättning
Klassen
TagBuilderhar flyttats till System.Web.WebPages.dll-assemblyn. Tidigare var detta i en sammansättning som var en del av ASP.NET MVC. Den här ändringen innebär att du inte behöver installera ASP.NET MVC för att kunna användaTagBuilderklassen.Klassen finns dock fortfarande i
System.Web.Mvcnamnområdet. För att kunna användaTagBuilderklassen (till exempel i en anpassad ASP.NET Razor-hjälpen) måste du referera till namnområdet (till exempel genom att lägga@using System.Web.Mvctill i koden).
Ändring: Valideringssyntaxen för begäran har ändrats. Klassen "Validering" har tagits bort
Om du vill inaktivera validering för ett enskilt fält eller en uppsättning fält i betaversionen kan du anropa
Validation.Excludemetoden och skicka in namnet eller namnen på fälten som ska undantas från valideringen. En ny syntax är tillgänglig i Beta 3-versionen för att kringgå valideringen. MetodenValidationsom används i Beta 3 har tagits bort.Anmärkning
Om du inte inaktiverar validering av begäranden, om användarna försöker ladda upp HTML-kod (till exempel genom att använda en RTF-redigerare på en sida), rapporterar webbplatsen ett fel som ett potentiellt farligt Request.Form-värde identifierades från klienten och användarens indata accepteras inte. Om du inaktiverar validering av begäranden måste du kontrollera användarindata manuellt för att se till att den inte innehåller potentiellt farlig markering eller skript enligt Preventing Cross-Site Scripting (XSS) in ASP.NET Core.
Om du vill inaktivera automatisk validering av begäranden anropar
Request.Unvalidateddu metoden och skickar namnet på fältet eller det andra postobjektet som du vill kringgå valideringen av begäran för. Du kan använda den här metoden för att förbigå valideringen för alla objekt i samlingarnaForm,QueryString,CookiesochServerVariables. Följande exempel visar hur du använderUnvalidatedmetoden:Request["userInput"]; // Validated Request.Unvalidated("userInput"); // Validation bypassed Request.Unvalidated().Form["userInput"]; // Validation bypassed Request.QueryString["userPreference"]; // Validated Request.Unvalidated().QueryString["userPreference"]; // Validation bypassed
Kända problem för ASP.NET webbsidor med Razor-syntax
Problem: Oväntat beteende när du använder en anpassad användartabell för medlemskap
Om du vill initiera medlemskapsprovidern för en ASP.NET Razor-webbplats anropar
WebSecurity.InitializeDatabaseConnectiondu metoden. (I WebMatrix innehåller mallen Startwebbplats ett anrop till den här metoden i filen _AppStart.cshtml .) Om parametern för denautoCreateTableshär metoden är inställd på true (som standard är den inställd på true i mallen Startwebbplats) och om ett okänt tabellnamn skickas till metoden (den andra parametern) genererar metoden inget fel. I stället skapas tabellen automatiskt.Detta kan vara ett problem om du tänker använda en anpassad användartabell för medlemskap men skickar fel tabellnamn till
WebSecurity.InitializeDatabaseConnectionmetoden. Eftersom metoden inte som standard genererar ett fel om den tabell som du anger inte finns, och eftersom den i stället skapar en ny tabell, kan programmet verka fungera. Programkod som förlitar sig på din anpassade användartabell (och på fält i den) kan dock misslyckas med oväntade fel.Lösning
Kontrollera att namnet som skickades iInitializeDatabaseConnectionmetoden matchar användarprofiltabellen i medlemskapsdatabasen eller se till att parameternautoCreateTablesär inställd på false.
Problem: Felet "Det gick inte att generera en användarinstans av SQL Server"
Om ett WebMatrix-webbprogram använder SQL Server Express och kör IIS 7.5 på Windows 7 eller Windows Server 2008 R2 kan ett fel visas som anger att SQL Server inte kan hämta användarens lokala programsökväg vid körning.
Lösning Kontrollera att Det Windows-konto som programmet körs under (vanligtvis NETWORK SERVICE) har läs-/skrivbehörighet för rotmappar i programmet och för undermappar som App_Data. Mer detaljerad information finns på Problem med användarinstansering i SQL Server Express och ASP.net Web Application Projects.
Problem: I Visual Studio importeras inte namnområden för anpassade sammansättningar (DLL:er) automatiskt
Om du använder anpassade sammansättningar i ett projekt i Visual Studio importeras inte de namnområden som deklareras i dessa sammansättningar automatiskt vid designtillfället. Därför kanske referenser till anpassade typer inte identifieras vid designtillfället och markeras som inte identifierade i Visual Studio (med hjälp av en "squiggle"). Det här problemet uppstår endast vid designtillfället i Visual Studio. själva programmet körs korrekt.
Lösning
Inkludera enusinginstruktion (importsi Visual Basic) som refererar till de entiteter som inte identifieras vid designtillfället.
Problem: Visual Studio IntelliSense och projektmallar som endast är tillgängliga i ASP.NET MVC version 3
Installation av ASP.NET webbsidor installerar inte heller verktyg för Visual Studio, till exempel IntelliSense och projektmallar för ASP.NET web pages-program.
Lösning Om du vill använda IntelliSense och projektmallar för ASP.NET webbsidor i Visual Studio installerar du ASP.NET MVC 3 RC antingen via installationsprogrammet för webbplattformen eller det fristående installationsprogrammet.
Problem: Felet "<det går inte att hitta hjälpklassen> "
När du har uppgraderat till Beta 3 kan ett fel visas om att det inte går att hitta en hjälpklass (till exempel
Lösning
Kommentera ut anrop till alla hjälpare på webbplatsen, kör _Admin-sidan och installera paketet eller paketen som innehåller de hjälpare som du vill använda. När du har installerat paketet kan du avkommentera raderna som refererar till hjälparna.
Problem: Distribution av Beta 3-ASP.NET Razor-sammansättningar till mappen Bin kanske inte fungerar på värdwebbplatser
Om du distribuerar en ASP.NET webbplats för webbsidor till en värdwebbplats, och om du distribuerar ASP.NET Razor Beta 3-sammansättningar till webbplatsens bin-mapp , kan det uppstå fel, inklusive följande:
Could not load type 'Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility' from assembly 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.Detta kan inträffa om värdleverantören har installerat ASP.NET Web Pages Beta 1-sammansättningar i serverns globala programcache (GAC). Sammansättningar i GAC får företräde framför sammansättningar som installeras lokalt i mappen Bin .
Lösning Kontakta värdleverantören för att bekräfta att de fel du ser beror på en konflikt mellan leverantörens versioner av sammansättningarna och dina. I så fall begär du att värdleverantören uppdaterar sammansättningarna i serverns GAC.
Problem: Läsa informationsflöden eller andra externa data via en proxyserver
Om servern som kör platsen finns bakom en proxyserver kan du behöva konfigurera proxyinformation i Web.config-filen för att kunna läsa information som kommer utanför din webbplats. Om du till exempel använder
ReCaptchahjälpen kommunicerar hjälpen med reCAPTCHA-tjänsten, men kan blockeras av proxyservern. På samma sätt kan flöden som används i ASP.NET webbsidor, till exempel det flöde som används av pakethanteraren, kräva proxykonfiguration.Om du har problem med att arbeta med en extern tjänst eller arbeta med paketflödet lägger du följande element i programmets rotfilWeb.config :
<system.net> <defaultProxy> <proxy autoDetect="False" proxyaddress="[proxy URL]"/> </defaultProxy> </system.net>Mer information om hur du konfigurerar en proxyserver <finns i proxyelement> (nätverksinställningar) på MSDN-webbplatsen.
Problem: Felet "Microsoft.Web.Infrastructure.dll kan inte laddas"
Om du tidigare har installerat Beta 1-versionen av ASP.NET webbsidor med Razor-syntax och sedan installerar Beta 3-versionen installeras alla lämpliga sammansättningar i GAC förutom Microsoft.Web.Infrastructure.dll. När du kör ASP.NET Razor-sidor visas därför ett fel som anger att Microsoft.Web.Infrastructure.dll inte kunde läsas in.
Det här problemet uppstår inte om du har läst in Beta 3-versionen på en ren dator.
Lösning
Avinstallera ASP.NET webbsidor på Kontrollpanelen. Installera sedan om Beta 3-versionen.
Problem: Om du avinstallerar .NET Framework version 4 inaktiveras ASP.NET webbsidor med Razor-syntax
Om du avinstallerar .NET Framework version 4 och sedan installerar om den inaktiveras ASP.NET webbsidor med Razor-syntax. Sidor med .cshtml-tillägget körs inte korrekt. ASP.NET Web Pages registrerar en sammansättning i datorns rotfilWeb.config och om du tar bort .NET Framework tas filen bort. Om du installerar om .NET Framework installeras en ny version av konfigurationsfilen, men referensen för sammansättningen ASP.NET webbsidor läggs inte till.
Lösning När du har installerat om .NET Framework installerar du om ASP.NET webbsidor med Razor-syntax. Detta lägger till följande element i Web.config-filen i datorroten, som vanligtvis finns på följande plats:
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>
Problem: Program som tidigare distribuerats med ASP.NET sammansättningar i mappen Bin får fel
Under distributionen kopieras kopior av ASP.NET-webbsidor -sammansättningar (till exempel Microsoft.WebPages.dll) till mappen Bin på webbplatsen på servern. (Detta kan ha skett automatiskt under distributionen eller på grund av att utvecklaren uttryckligen kopierade sammansättningarna.) Men när Beta 3-versionen är installerad uppstår fel, till exempel fel som vissa typer inte kan hittas. Detta beror på att ett antal ASP.NET webbsidor har flyttats till olika namnområden för Beta 3-versionen.
Lösning
Rensa mappen Bin för det distribuerade programmet, kopiera de nya sammansättningarna till mappen (eller distribuera om programmet) och starta sedan om programmet.
Problem: Tilläggslösa URL:er hittar inte .cshtml/.vbhtml-filer på IIS 7 eller IIS 7.5
På IIS 7 eller IIS 7.5 kan begäranden med en URL som följande inte hitta sidor som har tillägget .cshtml eller .vbhtml :
http://www.example.com/ExampleSite/ExampleFileProblemet uppstår eftersom URL-omskrivning inte är aktiverat som standard för IIS 7 eller IIS 7.5. Det mest lika scenariot är att du inte ser problemet när du testar lokalt med IIS Express, men du upplever det när du distribuerar din webbplats till en värdwebbplats.
Lösning
- Om du har kontroll över serverdatorn installerar du den uppdatering som beskrivs i En uppdatering på serverdatorn som är tillgänglig som gör att vissa IIS 7.0- eller IIS 7.5-hanterare kan hantera begäranden vars URL:er inte slutar med en period.
- Om du inte har kontroll över serverdatorn (till exempel om du distribuerar till en värdwebbplats) lägger du till följande i webbplatsens Web.config-fil :
<system.webServer> <modules runAllManagedModulesForAllRequests="true"/> </system.webServer>
Problem: Använda Web Application Project eller ASP.NET MVC och ASP.NET webbsidor i samma program
Om du använde ASP.NET webbsidor i ett webbprogramprojekt eller ASP.NET MVC-program kan det uppstå ett fel om att WebPageHttpApplication inte kan hittas.
Lösning
Om du får det här felet ändrar du basklassen som programmet härleds från. Ändra följande rad i filen Global.asax :public class MvcApplication : WebPageHttpApplication { ... }Så här:
public class MvcApplication : HttpApplication { ... }Detta vänder i själva verket en ändring som introducerades för Beta 1-versionen av ASP.NET webbsidor med Razor-syntax.
Problem: Distribuera ett program till en dator som inte har SQL Server Compact installerat
Program som innehåller SQL Server Compact-databaser kan köras på en dator där SQL Server Compact inte är installerat. Microsoft WebMatrix Beta 3 kopierar automatiskt dessa binärfiler åt dig och utför lämpliga Web.config filtransformeringar.
Lösning Om du behöver kopiera dessa filer och göra Web.config filändringar manuellt gör du följande:
Kopiera databasmotorsammansättningarna till mappen Bin (och undermappar) för programmet på måldatorn:
- Kopiera C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Desktop\System.Data.SqlServerCe.dlltill\Bin
- Kopiera C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private\x86\* to\Bin\x86
- Kopiera C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private\amd64\* to\Bin\amd64
Skapa eller öppna en Web.config fil i rotmappen på webbplatsen. (I WebMatrix Beta 3 är den här filtypen tillgänglig om du klickar på Alla i dialogrutan Välj en filtyp .)
Lägg till följande element som ett barn till <konfigurations>elementet (inte i <system.web->elementet):
<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>
Problem: Databas- och WebGrid-hjälpen fungerar inte i Medium Trust i Visual Basic
Om du använder Visual Basic (skapar .vbhtml-filer), så fungerar inte
Database- ochWebGrid-hjälparna om programmet är inställt på att använda Medium Trust.Lösning
Ange tillfälligt att programmet ska använda fullständigt förtroende.
SQL Server Compact
Problem: Egenskapen "Kryptera" känns inte igen
SQL Server Compact 4.0 känner inte igen
EncryptklassensSqlCeConnectionegenskap. Du bör inte använda den här egenskapen för att kryptera databasfiler. EgenskapenEncryptär inaktuell i SQL Server Compact 3.5-versionen och behålls endast för bakåtkompatibilitet.Lösning
Encryption ModeAnvänd egenskapen förSqlCeConnectionklassen för att kryptera SQL Server Compact 4.0-databasfiler. I följande exempel visas hur du skapar en krypterad SQL Server Compact 4.0-databas med egenskapenEncryption Mode: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()Om du vill ändra krypteringsläget för en befintlig SQL Server Compact 4.0-databas gör du följande:
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;>;")Gör följande för att kryptera en okrypterad SQL Server Compact 4.0-databas:
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;>;")
Problem: Microsoft Visual C++ 2008-körningsbibliotek krävs
De interna DLL:erna för SQL Server Compact 4.0 behöver Microsoft Visual C++ 2008 Runtime Libraries (x86, IA64 och x64), Service Pack 1.
Lösning
Installera .NET Framework 3.5 SP1. Detta installerar även Visual C++ 2008 Runtime Libraries SP1. Du kan ladda ned biblioteken från följande plats:Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package ATL säkerhetsuppdatering
Anmärkning
Observera att installation av .NET Framework 2.0, 3.0 eller 4 inte installerar VISUAL C++ 2008 Runtime Libraries SP1.
Problem: Om SQL Server Compact installeras innan .NET Framework installeras på datorn registreras inte providerns invarianta namn i .NET Framework machine.config-filen
SQL Server Compact kan installeras på en dator som inte har .NET Framework installerat eftersom SQL Server Compact kräver .NET-ramverket. Om varken .NET Framework version 3.5 eller 4 är installerad innan du installerar SQL Server Compact, registreras inte det invariant namn på leverantören i machine.config-filen. Alla program som förlitar sig på SQL Server Compact-posten i machine.config-filen misslyckas. Registreringsposten för invarianta namn i machine.config ser ut som i följande exempel:
<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>Lösning
Avinstallera SQL Server Compact 4.0 CTP1. Ladda ned och installera de fullständiga versionerna av .NET Framework från följande plats:Microsoft .NET Framework 3.5 Service Pack 1 (fullständigt paket)
Microsoft .NET Framework 4.0 Utgåva (Fullständigt Paket)Installera SQL Server Compact 4.0 SP1 sedan på nytt.
Installera applikationer
Problem: Det kan ta lång tid att installera ett program om användarens mapp Mina dokument omdirigeras till en nätverksresurs
Lösning
Ingen. Det kan ta en stund att installera programmet, men det installeras på rätt sätt.
Publicera applikationer
Problem: Webbplatsen kanske inte fungerar efter publiceringen om fältet "Mål-URL" inte är prefixet med http:// eller https://
Om mål-URL:en inte börjar med eller
http://i dialogrutanhttps://kanske webbplatsen inte fungerar efter distributionen.Lösning
Kontrollera att mål-URL:en i dialogrutan Publicera inställningar börjar medhttp://ellerhttps://innan du publicerar en webbplats.
Problem: Det går inte att publicera en MySQL-databas med felet "Det gick inte att publicera databasen. Detta kan inträffa om fjärrdatabasen inte kan köra skriptet."
Felet kan inträffa av flera orsaker. En anledning till att du kan se det här felet är om databasskriptet innehåller ett enkelt citattecken (') och mySQL-måldatabasens standardteckenuppsättning inte är UTF-8.
Lösning
Ange standardteckenuppsättningen för mySQL-fjärrdatabasen till UTF-8.
Andra problem
Problem: Sökning/filter fungerar inte i rapporter för grupp efter: Problemtyp
När du kör en rapport för en webbplats, om du anger text i rutan Filtrera efter URL och klickar på Sök, händer ingenting. Detta beror på att den här kontrollen inte fungerar medan rapportens Gruppera efter-tillstånd är inställt på Ärendetyp, vilket är standardinställningen.
Lösning På fliken Gruppera efter i menyfliksområdet klickar du på URL för att gruppera posterna efter deras käll-URL. Textrutan och knappen för att filtrera posterna fungerar i det här tillståndet.
Problem: WCF-program kan inte köras med IIS Express
Om du bläddrar till ett WCF-program uppstår ett fel som liknar följande:
Det gick inte att läsa in filen eller sammansättningen "Microsoft.Web.Administration, Version=7.0.0.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35" eller något av dess beroenden. Det går inte att hitta den angivna filen.
Detta beror på att IIS Express Beta-versionen inte stöder WCF som standard.
Lösning Använd någon av följande lösningar (lösning nr 2 kräver Microsoft Windows Vista eller senare):
Kopiera Microsoft.Web.dll - och Microsoft.Web.Administration.dll-sammansättningarna från installationsplatsen WebMatrix till bin-katalogen för WCF-programmet. Som standard installeras WebMatrix i undermappen Microsoft WebMatrix under systemets Program Files-mapp .
I Microsoft Windows Vista eller senare skapar du en symlink till sammansättningarna i bin-katalogen med hjälp av följande kommandon. (Den här metoden har fördelen att den inte skapar en kopia av sammansättningarna.)
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"Installera de två sammansättningarna i GAC. Kör följande kommandon från en upphöjd prompt:
gacutil /i "c:\Program Files (x86)\Microsoft WebMatrix\Microsoft.Web.Administration.dll" gacutil /i "c:\Program Files (x86)\Microsoft WebMatrix\Microsoft.Web.dll"
Problem: WebMatrix Beta 3 kan inte utföra vissa uppgifter som kräver utökade privilegier
WebMatrix Beta 3 kan inte utföra vissa uppgifter som kräver utökade privilegier, till exempel att installera ytterligare komponenter i följande situationer:
- I Windows Vista eller Windows 7 loggas du in med ett konto som inte har administratörsbehörighet och UAC (User Account Control) är inaktiverat.
- Du använder Microsoft Windows XP eller Microsoft Windows Server 2003.
Lösning
De flesta uppgifter i WebMatrix Beta 3 kräver inte administrativ behörighet. För dem som gör det kan du utföra åtgärden som administratör eller följa dessa steg:
- Aktivera UAC i Windows Vista eller Windows 7.
- I Windows XP lägger du till användaren i säkerhetsgruppen Administratörer.
Problem: "Webbplats från Webbgalleri" är inaktiverad
Alternativet Webbplats från webbgalleriet är inaktiverat om installationsprogrammet för webbplattformen 3.0 inte är installerat.
Lösning
Installera Microsoft Web Platform Installer 3.0.
Problem: På Windows Server 2003 startar inte IIS Express för en icke-administrativ användare
När du startar en sida eller startar IIS Express i Windows Server 2003 startar inte IIS Express. För webbsidor visas ett fel som anger att programmet har startats av en icke-administrativ användare.
Lösning
Starta WebMatrix Beta 3 som administrativ användare.
Problem: Google Chrome är inte tillgängligt som kör-alternativ
Google Chrome visas inte i listan över webbläsare under Kör på fliken Start .
Lösning
Vissa versioner av Google Chrome registrerar sig inte korrekt med funktionen Standardprogram i Windows. Som en lösning startar du Google Chrome, klickar på menyn Anpassa och styr Google Chrome , klickar på Alternativ och klickar sedan på Gör Google Chrome till min standardwebbläsare.
Problem: Dialogrutan "Sekundärnyckel" tillåter inte att en primärnyckel anges
I dialogrutan Sekundärnyckel kan du inte ange primärnyckelnamnet från primärnyckeltabellen.
Lösning
Detta är avsiktligt. Du behöver inte ange namnet på primärnyckeln från primärnyckeltabellen.
Problem: Knappen "Relationer" är inaktiverad
Knappen Relationer under fliken Tabell på arbetsytan Databaser är inaktiverad för SQL Server Compact-databaser.
Lösning
Ingen. SQL Server Compact stöder inte relationer mellan tabeller.
Problem: Parameteriserade SQL-frågor utlöser undantag
Om du inte anger någon datatyp i SQL Server Compact 4.0, till exempel
SqlDbTypeellerDbTypeför parametrar i parametriserade frågor, genereras ett undantag när frågan körs.Lösning
Ange uttryckligen datatypen för parametrar somSqlDbTypeellerDbType. Detta är kritiskt när det gäller BLOB-datatyper (imageochntext). Använd kod som följande: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()
Mer information
Mer information om WebMatrix Beta 3 finns på följande webbplatser: