Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Файл сведений для Web Matrix и веб-страниц ASP.NET (Razor) релиза Beta 3
9 ноября 2010 г.
Содержимое
Обзор
Бета-версия Microsoft WebMatrix — это бесплатный стек веб-разработки, который устанавливается в минутах. Он интегрирует веб-сервер с базами данных и платформами программирования для создания единого интегрированного интерфейса. С помощью WebMatrix Beta можно оптимизировать способ написания кода, тестирования и публикации собственного веб-сайта ASP.NET или PHP или использовать веб-сайт WebMatrix Beta для запуска нового веб-сайта с помощью популярных приложений с открытым исходным кодом, таких как DotNetNuke, Umbraco, WordPress или Online. WebMatrix Beta использует тот же мощный веб-сервер, движок базы данных и среду фреймворков, которая обеспечивает работу вашего веб-сайта в Интернете, что делает переход от разработки к эксплуатации гладким и бесшовным.
Установка
Примечание.
WebMatrix больше не рекомендуется в качестве интегрированной среды разработки для веб-страницы ASP.NET. Используйте Visual Studio или Visual Studio Code.
Если во время установки возникли проблемы, обратитесь к разделу "Устранение неполадок с установщиком веб-платформа Майкрософт".
Инструкции по публикации приложений
Инструкции по пошаговому опубликованию приложений
Новые функции, изменения и известные проблемы
Установка WebMatrix Beta 3
Проблема. Бета-версия WebMatrix 3 доступна только на платформах, поддерживающих Microsoft платформа .NET Framework 4
Для бета-версии WebMatrix требуется платформа .NET Framework версии 4. В некоторых случаях установщик Бета-версии WebMatrix позволит вам попытаться установить на платформе, которая не входит в поддерживаемый набор конфигураций. В частности, Windows Vista без обновления с пакетом обновления 1 (SP1) позволит вам начать установку WebMatrix Beta, но компонент платформы .NET Framework 4 завершится ошибкой и заблокирует установку.
Обходное решение
Установите на поддерживаемую платформу, которая включает в себя:
- Windows 7
- Windows Server 2008 г.
- Windows Server 2008 R2
- Windows Vista с пакетом обновления 1 (SP1) или выше
- Windows XP с пакетом обновления 3 (SP3)
- Windows Server 2003 с пакетом обновления 2 (SP2)
Проблема. Не удается установить WebMatrix Beta 3, если Microsoft Visual Studio 2008 установлена без пакета обновления 1 (SP1) для Microsoft Visual Studio 2008.
Обходное решение
Установите Microsoft Visual Studio 2008 с пакетом обновления 1 (SP1 ) из Центра загрузки Майкрософт.
Проблема. Некоторые сборки для SQL Server Compact 4.0 не установлены в GAC
Управляемые сборки для SQL Server Compact 4.0 не помещаются в глобальный кэш сборок (GAC), если вы устанавливаете SQL Server Compact 4.0 на 64-разрядном компьютере, на котором установлена только клиентская версия платформы .NET Framework 3.5 с пакетом обновления 1 (SP1). Управляемые сборки, которые не установлены в GAC, следующие:
- System.Data.SqlServerCe.dll (поставщик ADO.NET)
- System.Data.SqlServerCe.Entity.dll (ADO.NET Entity Framework)
Обходное решение
Удалите SQL Server Compact 4.0. Скачайте и установите полную версию .NET Framework 3.5 SP1 по следующей ссылке:Microsoft .NET Framework 3.5 с сервис-пакетом 1 (полный пакет)
Затем переустановите SQL Server Compact 4.0.
Проблема. Не удается удалить SQL Server Compact с помощью командной строки
Удаление SQL Server Compact не работает в этой версии при использовании параметров командной строки.
Обходное решение
Используйте Программы и компоненты в Панели управления Windows для удаления Microsoft SQL Server Compact 4.0.
Веб-страницы ASP.NET
В этом разделе документа описываются новые функции, изменения и известные проблемы с выпуском бета-версии 3 веб-страницы ASP.NET с синтаксисом Razor.
Новые функции в бета-версии 3 для веб-страниц ASP.NET с синтаксисом Razor
Новое: метод Html.Raw отображает незакодированную разметку
Новый метод
Html.Rawпозволяет отображать HTML-разметку как есть, вместо закодированного вывода. (По умолчанию ASP.NET Razor кодирует строки перед их отрисовкой.) Синтаксис:
Html.Raw(value)В следующем примере показано использование
Html.Raw.@* Inserts literal markup into the page as specified in the value string. *@ @Html.Raw("<div>Hello <em>world</em>!</div>")
Изменения в бета-версии 3 для веб-страниц ASP.NET с Razor-синтаксисом
Изменение: метод HrefAttribute удален
HrefAttributeметод классаWebPageбыл удален. Этот вспомогательный метод использовался для кодирования небезопасных символов в URL-адресах. Больше не требуется, так как ASP.NET Razor автоматически кодирует строки. (Используйте новыйHtml.Rawметод для отрисовки незакодированных строк.)
Изменение: синтаксис для декларативных вспомогательных элементов "@helper" изменен
В выпуске Beta 3 ASP.NET изменяет принцип распознавания вспомогателей, созданных с помощью синтаксиса
@helper. По сути,@helperсинтаксис теперь анализируется как блок кода, а не как блок разметки, который может включать код. Поэтому код внутри вспомогательной функции не нужно заключать в блоки@{ }. И наоборот, разметка внутри вспомогательного элемента должна быть явно включена в ЭЛЕМЕНТЫ HTML или в ASP.NET тегах Razor<text></text>.Например, следующий
@helperсинтаксис работает в выпуске 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> }В выпуске бета-версии 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> }Обратите внимание, что символы
@{ }вокруг начального кода в вспомогательной функции больше не используются. Это связано с тем, что содержимое вспомогательных служб рассматривается как блок кода по умолчанию. Вспомогатель рендерит разметку, которая начинается с открывающего тега<a>. Если вспомогательный элемент должен отображать обычный текст или теги, не содержащие закрывающего тега (например,<meta>-теги), содержимое, которое нужно отобразить, должно находиться в<text></text>тегах.
Изменение: "WebPageContext.HttpContext" удалено
Свойство
WebPageContext.HttpContextбыло удалено. Вместо этого используйтеHttpContext.Current. (СвойствоWebPageContext.HttpContextпросто упаковано в эту оболочку.)
Изменение: вспомогательный помощник Facebook перешел в новый пакет
Помощник
Изменение: Типы Membership, Role и Security перемещаются в новую сборку
Следующие типы были перемещены в сборку
WebMatrix.WebData:
ExtendedMembershipProviderSimpleMembershipProviderSimpleRoleProviderWebSecurity
Изменение: класс TagBuilder перемещен в сборку System.Web.WebPages.dll
Класс
TagBuilderбыл перемещен в сборку System.Web.WebPages.dll. Ранее это находилось в сборке, которая была частью ASP.NET MVC. Это изменение означает, что для использованияTagBuilderкласса не требуется устанавливать ASP.NET MVC.Однако класс по-прежнему
System.Web.Mvcнаходится в пространстве имен. Чтобы использовать классTagBuilder(например, в пользовательском помощнике ASP.NET Razor), необходимо добавить ссылку на пространство имен (например, добавив@using System.Web.Mvcв код).
Изменение: изменен синтаксис проверки запроса; Класс "Validation" удален
Чтобы отключить проверку для отдельного поля или набора полей, можно вызвать
Validation.Excludeметод, передав имя или имена полей, которые следует исключить из проверки. Новый синтаксис доступен в выпуске бета-версии 3 для обхода проверки. Метод,Validationиспользуемый в бета-версии 3, удален.Примечание.
Если вы не отключаете проверку запросов, если пользователи пытаются отправить разметку HTML (например, с помощью редактора форматированного текста на странице), веб-сайт сообщит об ошибке, такой как потенциально опасное значение Request.Form было обнаружено от клиента , и входные данные пользователя не принимаются. При отключении проверки запроса необходимо вручную проверить входные данные пользователя, чтобы убедиться, что он не содержит потенциально опасной разметки или скрипта путем предотвращения межсайтовых сценариев (XSS) в ASP.NET Core.
Чтобы отключить автоматическую проверку запросов, вызовите
Request.Unvalidatedметод, передав имя поля или другого объекта post, для которого требуется обойти проверку запроса. Этот метод можно использовать для обхода проверки для любых элементов в коллекцияхForm,QueryString,CookiesиServerVariables. В следующих примерах показано, как использоватьUnvalidatedметод:Request["userInput"]; // Validated Request.Unvalidated("userInput"); // Validation bypassed Request.Unvalidated().Form["userInput"]; // Validation bypassed Request.QueryString["userPreference"]; // Validated Request.Unvalidated().QueryString["userPreference"]; // Validation bypassed
Известные проблемы с веб-страницами ASP.NET с синтаксисом Razor
Проблема: Непредвиденное поведение при использовании пользовательской таблицы для членства.
Чтобы инициализировать провайдер членства для веб-сайта ASP.NET Razor, вызовите метод
WebSecurity.InitializeDatabaseConnection. (В WebMatrix шаблон начального сайта включает вызов этого метода в файле _AppStart.cshtml .)autoCreateTablesЕсли для параметра этого метода задано значение true (по умолчанию оно имеет значение true в шаблоне начального сайта), а если в метод передается нераспознанное имя таблицы (второй параметр), метод не выдает ошибку. Вместо этого она автоматически создает таблицу.Это может быть проблемой, если вы планируете использовать пользовательскую таблицу для членства, но укажете неправильное имя таблицы в методе
WebSecurity.InitializeDatabaseConnection. Так как метод по умолчанию не вызывает ошибку, если указанная таблица не существует, и поскольку вместо нее создается новая таблица, приложение может работать. Однако код приложения, основанный на пользовательской таблице пользователя (и полях в нем), в конечном итоге может завершиться сбоем с непредвиденными ошибками.Обходное решение
Убедитесь, что имя, переданное в методеInitializeDatabaseConnection, соответствует таблице профиля пользователя в базе данных членства или убедитесь, чтоautoCreateTablesпараметр имеет значение false.
Проблема: ошибка "Не удалось создать экземпляр пользователя SQL Server"
Если веб-приложение WebMatrix использует SQL Server Express и работает под управлением IIS 7.5 в Windows 7 или Windows Server 2008 R2, может появиться сообщение об ошибке, указывающее, что SQL Server не может получить путь локального приложения пользователя во время выполнения.
Обходной путь убедитесь, что учетная запись Windows, в которой выполняется приложение (обычно NETWORK SERVICE), имеет разрешения на чтение и запись для корневых папок приложения и вложенных папок, таких как App_Data. Дополнительные сведения см. в разделе "Проблемы с экземплярами пользователей SQL Server Express и проектами веб-приложений ASP.net".
Проблема. В Visual Studio пространства имен для пользовательских сборок (DLL) не импортируются автоматически.
Если в проекте в Visual Studio используются пользовательские сборки, пространства имен, объявленные в этих сборках, не импортируются автоматически во время разработки. В результате ссылки на пользовательские типы могут не распознаваться во время проектирования и помечаются как нераспознанные в Visual Studio (с помощью squiggle). Эта проблема возникает только во время разработки в Visual Studio; Само приложение выполняется правильно.
Обходное решение
Включите инструкциюusing(importsв Visual Basic), которая ссылается на сущности, которые не распознаются во время разработки.
Проблема: Visual Studio IntelliSense и шаблоны проектов, доступные только в ASP.NET MVC версии 3
Установка среды ASP.NET Web Pages не устанавливает средства для Visual Studio, такие как IntelliSense и шаблоны проектов для приложений на основе веб-страниц ASP.NET.
Решение. Чтобы использовать IntelliSense и шаблоны проектов для веб-страницы ASP.NET приложений в Visual Studio, установите ASP.NET MVC 3 RC либо через установщик веб-платформы, либо автономный установщик.
Проблема: ошибка "<вспомогательный> класс не удается найти"
После обновления до бета-версии 3 может появиться сообщение об ошибке, что вспомогательный класс (например,
Обходное решение
Закомментируйте вызовы к любым вспомогательным службам на сайте, запустите страницу _Admin и установите пакет или пакеты, которые включают вспомогательные элементы, которые вы хотите использовать. После установки пакета вы можете раскомментировать строки, которые ссылаются на помощников.
Проблема: Развертывание сборок ASP.NET Razor бета 3 в папке Bin может не работать на хостинг-сайтах
При развертывании веб-сайта ASP.NET Web Pages на сайте хостинга, и при развертывании сборок ASP.NET Razor Beta 3 в папке Bin сайта, могут возникнуть ошибки, включая следующие:
Could not load type 'Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility' from assembly 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.Это может произойти, если хостинг-провайдер установил сборки ASP.NET Web Pages Beta 1 в глобальный кэш приложений сервера (GAC). Сборки в GAC получают приоритет над сборками, установленными локально в папке Bin .
Обходное решение свяжитесь с поставщиком услуг размещения, чтобы убедиться, что видимые вами ошибки вызваны конфликтом между версиями сборок поставщика и вашими. В этом случае попросите поставщика размещения обновить сборки в GAC сервера.
Проблема: чтение лент или других внешних данных через прокси-сервер
Если сервер, на котором выполняется сайт, находится за прокси-сервером, может потребоваться настроить сведения о прокси-сервере в файле конфигурации Web.config , чтобы иметь возможность считывать сведения, поступающие извне сайта. Например, если вы используете
ReCaptchaпомощника, он взаимодействует со службой reCAPTCHA, но может быть заблокирован вашим прокси-сервером. Аналогичным образом, каналы, используемые в веб-страницах ASP.NET, такие как канал, используемый диспетчером пакетов, могут потребовать конфигурации прокси-сервера.Если возникают проблемы при работе с внешним сервисом или с источником пакетов, поместите следующие элементы в корневой файл Web.config приложения:
<system.net> <defaultProxy> <proxy autoDetect="False" proxyaddress="[proxy URL]"/> </defaultProxy> </system.net>Дополнительные сведения о настройке прокси-сервера см. в разделе <"> Параметры сети" на веб-сайте MSDN.
Проблема: ошибка "Microsoft.Web.Infrastructure.dll не может быть загружена"
Если вы ранее установили бета-версию 1 веб-страницы ASP.NET с синтаксисом Razor, а затем установите бета-версию 3, все соответствующие сборки устанавливаются в GAC, кроме Microsoft.Web.Infrastructure.dll. В результате при запуске страниц ASP.NET Razor отображается ошибка, сообщающая, что Microsoft.Web.Infrastructure.dll не удалось загрузить.
Эта проблема не возникает, если вы загружаете выпуск бета-версии 3 на чистый компьютер.
Обходное решение
В панель управления удалите веб-страницы ASP.NET. Затем переустановите выпуск бета-версии 3.
Проблема. Удаление платформы .NET Framework версии 4 отключает веб-страницы ASP.NET с синтаксисом Razor
Если удалить платформу .NET Framework версии 4, а затем снова установить её, веб-страницы ASP.NET с синтаксисом Razor отключаются. Страницы с расширением CSHTML не выполняются правильно. ASP.NET Web Pages регистрируют сборку в файле Web.config в корне компьютера, и удаление платформы .NET Framework удаляет этот файл. Переустановка платформы .NET Framework устанавливает новую версию файла конфигурации, но не добавляет ссылку для сборки ASP.NET Web Pages.
Временное решение После переустановки .NET Framework переустановите ASP.NET Web Pages с синтаксисом Razor. В корень машины добавляется следующий элемент в файл Web.config, который обычно находится в следующем месте:
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>
Проблема: Приложения, ранее развернутые со сборками ASP.NET в папке Bin, испытывают ошибки.
Во время развертывания копии сборок веб-страниц ASP.NET (например, Microsoft.WebPages.dll) переносятся в папку Bin веб-сайта на сервере. (Возможно, это произошло автоматически во время развертывания или из-за того, что разработчик явно скопировал сборки.) Однако при установке Beta 3 возникают ошибки, такие как ошибки, из-за которых не удается найти определенные типы. Это происходит из-за того, что ряд типов веб-страницы ASP.NET были перемещены в разные пространства имен для выпуска Beta 3.
Обходное решение
Снимите папку Bin развернутого приложения, скопируйте новые сборки в папку (или повторно разверните приложение), а затем перезапустите приложение.
Проблема. URL-адреса без расширения не находят ФАЙЛЫ CSHTML/.vbhtml в IIS 7 или IIS 7.5
В IIS 7 или IIS 7.5 запросы с URL-адресом, как показано ниже, не могут найти страницы с расширением CSHTML или VBHTML:
http://www.example.com/ExampleSite/ExampleFileПроблема возникает, так как перезапись URL-адресов не включена по умолчанию для IIS 7 или IIS 7.5. Наиболее вероятный сценарий заключается в том, что проблема не видна при локальном тестировании с помощью IIS Express, но она возникает при развертывании веб-сайта на хостинг.
Обходное решение
- Если у вас есть контроль над серверным компьютером, установите на нем обновление, описанное в обновлении, которое позволяет определённым обработчикам IIS 7.0 или IIS 7.5 обрабатывать запросы, URL-адреса которых не оканчиваются точкой.
- Если у вас нет контроля над серверным компьютером (например, вы развертываете на веб-сайте размещения), добавьте следующее в файл веб-конфигурации веб-сайта:
<system.webServer> <modules runAllManagedModulesForAllRequests="true"/> </system.webServer>
Проблема. Использование проекта веб-приложения или ASP.NET MVC и веб-страниц ASP.NET в том же приложении
Если вы использовали веб-страницы ASP.NET в веб-приложении или приложении ASP.NET MVC, может появиться сообщение об ошибке, что WebPageHttpApplication не удается найти.
Обходное решение
Если вы получите эту ошибку, измените базовый класс, из которого наследуется приложение. В файле Global.asax измените следующую строку:public class MvcApplication : WebPageHttpApplication { ... }На эту:
public class MvcApplication : HttpApplication { ... }Это фактически отменяет изменение, которое было введено для выпуска Beta 1 ASP.NET Web Pages с синтаксисом Razor.
Проблема. Развертывание приложения на компьютере без установленного SQL Server Compact
Приложения, включающие базы данных SQL Server Compact, могут работать на компьютере, на котором SQL Server Compact не установлен. Microsoft WebMatrix Beta 3 автоматически копирует эти двоичные файлы и выполняет соответствующие преобразования файла конфигурации Web.config .
Обходное решение , если необходимо скопировать эти файлы и внести изменения в файл конфигурации Web.config вручную, сделайте следующее:
Скопируйте сборки ядра СУБД в папку Bin (и вложенные папки) приложения на целевом компьютере:
- Скопируйте C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Desktop\System.Data.SqlServerCe.dllв\Bin
- Копировать C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private\x86\* в\Bin\x86
- Копирование C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private\amd64\* to\Bin\amd64
В корневой папке веб-сайта создайте или откройте файл web.config . (В WebMatrix Beta 3 этот тип файла доступен при нажатии кнопки Все в диалоговом окне "Выбор типа файла".)
Добавьте следующий элемент в качестве дочернего элемента <конфигурации> (не внутри элемента <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>
Проблема. Вспомогательные средства базы данных и WebGrid не работают в среде среднего доверия в Visual Basic
Если вы используете Visual Basic (работая с файлами .vbhtml), вспомогательные элементы
DatabaseWebGridне будут работать, если приложение настроено на использование Medium Trust.Обходное решение
Временно настройте приложение для использования полного доверия.
SQL Server Compact
Проблема: свойство Encrypt не распознается
SQL Server Compact 4.0 не распознает
EncryptсвойствоSqlCeConnectionкласса. Это свойство не следует использовать для шифрования файлов базы данных. СвойствоEncryptне рекомендуется использовать в выпуске SQL Server Compact 3.5 и сохранялось только для обратной совместимости.Обходное решение
Encryption ModeИспользуйте свойствоSqlCeConnectionкласса для шифрования файлов базы данных SQL Server Compact 4.0. В следующем примере показано, как создать зашифрованную базу данных SQL Server Compact 4.0 с помощьюEncryption 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()Чтобы изменить режим шифрования существующей базы данных SQL Server Compact 4.0, сделайте следующее:
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;>;")Чтобы зашифровать незашифрованную базу данных SQL Server Compact 4.0, сделайте следующее:
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;>;")
Проблема: требуются библиотеки среды выполнения Microsoft Visual C++ 2008
Для собственных библиотек DLL SQL Server Compact 4.0 требуются библиотеки среды выполнения Microsoft Visual C++ 2008 (x86, IA64 и x64), пакет обновления 1 .
Обходное решение
Установите платформу .NET Framework 3.5 SP1 (с пакетом обновления 1). Это также устанавливает библиотеки среды выполнения Visual C++ 2008 с пакетом обновления 1 (SP1). Вы можете скачать библиотеки из следующего расположения:
Примечание.
Обратите внимание, что установка платформы .NET Framework 2.0, 3.0 или 4 не устанавливает библиотеки среды выполнения Visual C++ 2008 с пакетом обновления 1 (SP1).
Проблема. Если SQL Server Compact установлен перед установкой .NET Framework на компьютере, его имя поставщика-инварианта не зарегистрировано в файле machine.config .NET Framework.
SQL Server Compact можно установить на компьютере, на котором не установлена платформа .NET Framework, потому что SQL Server Compact не требует платформу .NET. Если перед установкой SQL Server Compact не установлены ни .NET Framework версии 3.5, ни 4, программа установки SQL Server Compact не регистрирует его инвариантное имя поставщика в файле machine.config. Любое приложение, использующее запись SQL Server Compact в файле machine.config, завершится ошибкой. Запись регистрации инвариантного имени в machine.config выглядит следующим образом:
<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>Обходное решение
Удалите SQL Server Compact 4.0 CTP1. Скачайте и установите полные версии платформы .NET Framework по следующей ссылке:Microsoft .NET Framework 3.5 с сервис-пакетом 1 (полный пакет)
Microsoft .NET Framework 4.0 (полный пакет, выпуск)Затем переустановите SQL Server Compact 4.0 SP1.
Установка приложений
Проблема. Установка приложения может занять много времени, если папка "Мои документы" пользователя перенаправляется в сетевую папку
Обходное решение
Нет. Приложение может занять некоторое время, но будет правильно установлено.
Публикация приложений
Проблема. Сайт может не работать после публикации, если поле "Целевой URL-адрес" не префиксировано с http:// или https://
В диалоговом окне "Параметры публикации", если целевой URL-адрес не начинается
http://илиhttps://сайт может не работать после развертывания.Обходное решение
Убедитесь, что перед публикацией сайта url-адрес назначения в диалоговом окне "Параметры публикации " начинается сhttp://илиhttps://.
Проблема. Публикация базы данных MySQL завершается ошибкой "Не удалось опубликовать базу данных. Это может произойти, если удаленная база данных не может запустить скрипт".
Ошибка может возникать по ряду причин. Одна из причин, по которой эта ошибка возникает, если сценарий базы данных содержит один символ кавычки ('), а набор символов по умолчанию базы данных MySQL не соответствует UTF-8.
Обходное решение
Задайте для удаленной базы данных MySQL значение UTF-8 по умолчанию.
Другие проблемы
Проблема: поиск и фильтрация не работают в отчетах при группировке по типу задачи
При запуске отчета для сайта при вводе текста в поле "Фильтр по URL-адресу " и нажатии кнопки "Поиск" ничего не происходит. Это связано с тем, что этот элемент управления не работает, пока отчёт находится в состоянии Группировка по и установлен на Тип задачи, что является значением по умолчанию.
Обходное решение: на вкладке Группа по в ленте щелкните URL-адрес, чтобы сгруппировать записи по их исходному URL-адресу. Текстовое поле и кнопка для фильтрации записей работают в этом состоянии.
Проблема. Не удается запустить приложения WCF с помощью IIS Express
Просмотр приложения WCF приводит к ошибке, как показано ниже:
Не удалось загрузить файл или сборку Microsoft.Web.Administration, Version=7.0.0.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35 или одну из зависимостей. Системе не удается найти указанный файл.
Это происходит, так как по умолчанию выпуск IIS Express Beta не поддерживает WCF.
Обходное решение используйте одно из следующих обходных решений (для обходного решения #2 требуется Microsoft Windows Vista или более поздней версии):
Скопируйте сборки Microsoft.Web.dll и Microsoft.Web.Administration.dll из расположения установки WebMatrix в каталог bin приложения WCF. По умолчанию WebMatrix устанавливается в вложенную папку Microsoft WebMatrix в папке Program Files системы.
В Microsoft Windows Vista или более поздней версии создайте ссылку на сборки в каталоге bin с помощью следующих команд. (Этот подход имеет преимущество, что он не создает копию сборок.)
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"Установите две сборки в GAC. В командной строке с повышенными привилегиями выполните следующие команды:
gacutil /i "c:\Program Files (x86)\Microsoft WebMatrix\Microsoft.Web.Administration.dll" gacutil /i "c:\Program Files (x86)\Microsoft WebMatrix\Microsoft.Web.dll"
Проблема: WebMatrix Beta 3 не может выполнять некоторые задачи, которые требуют повышенных привилегий.
WebMatrix Beta 3 не может выполнять определенные задачи, требующие повышения прав, например установку дополнительных компонентов в следующих ситуациях:
- В Windows Vista или Windows 7 вы вошли в систему с учетной записью, которая не имеет прав администратора, а управление учетными записями пользователей (UAC) отключена.
- Вы используете Microsoft Windows XP или Microsoft Windows Server 2003.
Обходное решение
Большинство задач в WebMatrix Beta 3 не требуют разрешения администратора. Для тех, кто это делает, можно выполнить операцию от имени администратора или выполнить следующие действия:
- В Windows Vista или Windows 7 включите UAC.
- В Windows XP добавьте пользователя в группу безопасности администраторов.
Проблема: "Сайт из веб-коллекции" отключен
Параметр «Сайт из веб-галереи» отключен, если не установлен Web Platform Installer 3.0.
Обходное решение
Установите установщик веб-платформа Майкрософт 3.0.
Проблема: В Windows Server 2003 служба IIS Express не запускается для пользователя без административных прав.
В Windows Server 2003 при запуске страницы или запуске IIS Express служба IIS Express не запускается. Для веб-страниц отображается сообщение об ошибке, указывающее, что приложение запущено пользователем, не обладающим правами администратора.
Обходное решение
Запустите WebMatrix Beta 3 от имени администратора.
Проблема: Google Chrome недоступен в качестве параметра "Запустить"
Google Chrome не отображается в списке браузеров в разделе "Запуск " на вкладке "Главная ".
Обходное решение
Некоторые версии Google Chrome не регистрируются правильно с помощью функции программ по умолчанию в Windows. В качестве обходного решения запустите Google Chrome, выберите меню "Настройка и управление Google Chrome", выберите пункт "Параметры" и выберите пункт "Сделать Google Chrome моим браузером по умолчанию".
Проблема. Диалоговое окно "Внешний ключ" не позволяет вводить первичный ключ
Диалоговое окно "Внешний ключ" не позволяет вводить имя первичного ключа из таблицы первичного ключа.
Обходное решение
Это сделано намеренно. Не нужно вводить имя первичного ключа из таблицы первичного ключа.
Проблема: кнопка "Связи" отключена
Кнопка "Связи" на вкладке "Таблица" в рабочей области "Базы данных" отключена для баз данных SQL Server Compact.
Обходное решение
Нет. SQL Server Compact не поддерживает связи между таблицами.
Проблема. Параметризованные запросы SQL вызывают исключения
В SQL Server Compact 4.0, если не указать тип данных, например
SqlDbTypeилиDbTypeдля параметров в параметризованных запросах, при выполнении запроса возникает исключение.Обходное решение
Явно задайте тип данных для таких параметров, какSqlDbTypeилиDbType. Это важно в случае типов данных BLOB (imageиntext). Используйте следующий код: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()
Дополнительные сведения
Дополнительные сведения о WebMatrix Beta 3 см. на следующих веб-сайтах: