WebMatrix 1.0 版本自述文件

2011 年 1 月 13 日

目录

注意

此自述文件适用于 WebMatrix 的 1.0 版本。

概述

Microsoft WebMatrix 1.0 是一个免费的 Web 开发堆栈,在几分钟内安装。 它将 Web 服务器与数据库和编程框架集成,以创建单个集成体验。 可以使用 WebMatrix 简化代码、测试和发布自己的 ASP.NET 或 PHP 网站的方式,也可以使用 WebMatrix 通过常用的开源应用(如 DotNetNuke、Umbraco、WordPress 或 Joomla)启动新网站。 WebMatrix 使用相同的强大的 Web 服务器、数据库引擎和框架环境,该环境将在 Internet 上运行网站,从而使开发从开发到生产顺利无缝过渡。

安装

若要安装 WebMatrix 1.0,必须先安装 Microsoft Web 平台安装程序 3.0。 安装 Web 平台安装程序后,可以使用它安装 WebMatrix。

如果在安装过程中出现问题,请参阅“排查Microsoft Web 平台安装程序问题”。

如何发布应用程序

请参阅 发布应用程序的分步说明

更改和问题

WebMatrix 1.0 安装问题

问题:WebMatrix 1.0 仅适用于支持 Microsoft .NET Framework 4 的平台

WebMatrix 需要 .NET Framework 版本 4。 在某些情况下,WebMatrix 1.0 安装程序将允许您尝试在不属于受支持配置集的平台上安装。 具体而言,没有 SP1 更新的 Windows Vista 将让你开始安装 WebMatrix,但 .NET Framework 4 组件将失败并阻止安装。

解决方法
在受支持的平台上安装,其中包括:

  • Windows 7
  • Windows Server 2008
  • Windows Server 2008 R2
  • Windows Vista SP1 或更高版本
  • Windows XP SP3
  • Windows Server 2003 SP2

问题:如果未Microsoft Visual Studio 2008 SP1 安装Microsoft Visual Studio 2008,则无法安装 WebMatrix 1.0

解决方法
从Microsoft下载中心安装 Microsoft Visual Studio 2008 Service Pack 1

问题:GAC 中未安装 SQL Server Compact 4.0 的某些程序集

在 64 位计算机上安装 SQL Server Compact 4.0 且计算机仅安装了 .NET Framework 3.5 SP1 客户端配置文件时,SQL Server Compact 4.0 的托管程序集不会放置在全局程序集缓存(GAC) 中。 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 Service pack 1 (完整包)

然后重新安装 SQL Server Compact 4.0。

问题:无法使用命令行卸载 SQL Server Compact

使用此版本的命令行选项卸载 SQL Server Compact 不起作用。

解决方法
使用 Windows 控制面板中的程序和功能卸载 Microsoft SQL Server Compact 4.0。

ASP.NET 网页

本文档的此部分介绍 1.0 版本的 ASP.NET 网页 1.0 版和 Razor 语法的新功能、更改和已知问题。

新功能

新增:添加了用于禁用包管理器的配置设置

Web.config 文件中的元素可以使用<appSettings>asp:AdminManagerEnabled密钥,这使你可以完全禁用包管理器。 此元素的默认值为 true,这意味着如果未包含在 web.config 文件中,则启用包管理器。 若要禁用包管理器,请将以下元素添加到 网站的根目录中的 web.config 文件中:

<configuration>
  <appSettings>
    <add key="asp:AdminManagerEnabled" value="false"/>
  </appSettings>
</configuration>

更改

更改:“webPages:AdminFolderVirtualPath”密钥重命名为“asp:AdminFolderVirtualPath”

webPages:AdminFolderVirtualPath可添加到 web.config 文件的密钥,以指定包管理器的位置已重命名为使用asp:命名空间而不是webPages命名空间。 如果已使用此元素,则必须在配置文件中对其进行重命名。

已知问题

问题:不再识别成员身份用户的密码

创建和存储成员身份(登录)密码的算法已更改为更安全。 因此,无法识别在 ASP.NET Razor Beta 版本中为成员(用户)创建的密码。

解决方法 :如果站点尚未投入生产,请从成员身份数据库中删除用户记录。 如果数据库是实时的,则以编程方式重新生成成员身份数据库中的现有密码。

问题:使用自定义用户表作为成员身份时出现意外行为

若要初始化 ASP.NET Razor 网站的成员资格提供程序,请调用该方法 WebSecurity.InitializeDatabaseConnection 。 (在 WebMatrix 中,初学者网站模板在 _AppStart.cshtml 文件中包括对此方法的调用。autoCreateTables如果此方法的参数设置为 true(默认情况下,它在 Starter Site 模板中设置为 true),并且如果无法识别的表名称传递给方法(第二个参数),该方法不会引发错误。 而是自动创建表。

如果打算将自定义用户表用于成员身份,但将错误的表名称传递给 WebSecurity.InitializeDatabaseConnection 方法,则可能会出现此问题。 由于该方法默认情况下不会引发错误(如果指定的表不存在),并且由于该方法会创建一个新表,因此应用程序似乎可以正常工作。 但是,依赖于自定义用户表(以及其中字段)的应用程序代码最终可能会失败并出现意外错误。

解决方法
请确保在方法中 InitializeDatabaseConnection 传递的名称与成员身份数据库中的用户配置文件表匹配,或确保参数 autoCreateTables 设置为 false。

问题:错误消息“管理模块需要访问 ~/App_Data”

在某些情况下,尝试创建用户或其他使用 ASP.NET 成员身份系统可能会导致页面显示错误 。管理员模块需要访问 ~/App_Data。 如果 IIS 或 IIS Express 正在运行的帐户无权创建和写入 网站根下的 App_Data 文件夹,则会出现这种情况。

解决方法 :手动为网站创建 App_Data 文件夹。 然后,确保应用程序在 (通常是 NETWORK SERVICE) 下运行的 Windows 帐户对应用程序的根文件夹和子文件夹(如App_Data)具有读/写权限。 有关 SQL Server Express 用户实例化和 ASP.net Web 应用程序项目的问题,请参阅更多详细信息。

问题:“无法生成 SQL Server 的用户实例”错误

如果 WebMatrix Web 应用程序使用 SQL Server Express 并在 Windows 7 或 Windows Server 2008 R2 上运行 IIS 7.5,则可能会看到一个错误,指示 SQL Server 在运行时无法检索用户的本地应用程序路径。

解决方法 :确保应用程序在(通常为 NETWORK SERVICE)下运行的 Windows 帐户对应用程序的根文件夹和子文件夹(如 App_Data)具有读/写权限。 有关 SQL Server Express 用户实例化和 ASP.net Web 应用程序项目的问题,请参阅更多详细信息。

问题:包含包管理器资源或包管理器密码的文件在 IIS 6.0 及更早版本下可保留

如果部署使用 RC2 版本生成的 ASP.NET 网页(Razor)应用程序,并且应用程序在 /App_Data/admin包含password.txtpackagesources.txt文件,则 IIS 6.0 会根据请求提供该文件,可能会公开包管理器实例的密码。

解决方法 :将 password.txtpackagesources.txt 文件重命名为 password.configpackagesources.config。默认情况下,IIS 6.0 不提供扩展名 为 .config 的文件。 (在 IIS 7 中 ,没有文件App_Data 文件夹已提供,因此无需重命名文件。

问题:卸载使用 Beta 3 版本安装的包不会完全删除包组件

如果在 Beta 3 版本中使用包管理器安装了包,然后尝试使用当前版本卸载包,则不会完全卸载该包。 使用包管理器的 “卸载 ”按钮可删除某些组件,但会离开包的库代码,并且不会更新 package.config 文件。

解决方法
执行以下步骤:

  1. 删除 App_Data\packages 文件夹。 这会删除所有包。
  2. 删除网站的根目录中的 packages.config 文件。

问题:在 Visual Studio 中,调用基于 Web 的包管理器使应用程序脱机

如果使用的是 Visual Studio(而不是 WebMatrix),并使用_admin功能启动包管理器,Visual Studio 会将应用程序脱机,并将app_offline.htm发布到网站根目录,这会中断你使用包管理器的能力。

注意

尽管在使用基于 Web 的包管理器接口时通常会看到此行为,但添加、删除或修改App_Data文件夹中的任何文件时也会发生相同的行为。

解决方法
若要在 Visual Studio 中使用包,请使用 NuGet 扩展而不是基于 Web 的包管理器。 有关信息,请参阅 NuGet 文档。 如果要处理App_Data文件夹中的其他文件,请考虑将文件保留在其他位置以避免此问题。 如果这不可行,请手动删除 app_offline.htm 文件,或等到网站自动恢复联机(默认情况下,30 秒后)。

问题:Visual Studio IntelliSense 和项目模板仅在 ASP.NET MVC 版本 3 中可用

安装 ASP.NET 网页也不会安装适用于 Visual Studio 的工具,例如 IntelliSense 和用于 ASP.NET 网页应用程序的项目模板。

解决方法:若要在 Visual Studio 中使用 IntelliSense 和项目模板 ASP.NET 网页应用程序,请通过 Web 平台安装程序或独立安装程序安装 ASP.NET MVC 3 RC。

问题:通过代理服务器读取源或其他外部数据

如果运行站点的服务器位于代理服务器后面,则可能需要在 web.config 文件中配置代理信息,以便能够读取来自站点外部的信息。 例如,如果使用 ReCaptcha 帮助程序,则帮助程序与 reCAPTCHA 服务通信,但代理服务器可能会阻止该服务。 同样,ASP.NET 网页中使用的源(如包管理器使用的源)可能需要代理配置。

如果在使用外部服务或处理包源时遇到问题,请将以下元素放入应用程序的根 web.config 文件中:

<system.net>
  <defaultProxy>
    <proxy autoDetect="False" 
       proxyaddress="[proxy URL]"/>
  </defaultProxy>
</system.net>

有关配置代理服务器的详细信息,请参阅 <MSDN 网站上的代理> 元素(网络设置 )。

问题:卸载 .NET Framework 版本 4 会禁用使用 Razor 语法 ASP.NET 网页

如果卸载 .NET Framework 版本 4,然后重新安装它,则禁用 Razor 语法 ASP.NET 网页。 具有 .cshtml 扩展名的页面未正确运行。 ASP.NET 网页在计算机根 Web.config 文件中注册程序集,并删除 .NET Framework 会删除该文件。 重新安装 .NET Framework 会安装配置文件的新版本,但不添加 ASP.NET 网页程序集的引用。

重新安装 .NET Framework 后,使用 Razor 语法重新安装 ASP.NET 网页。 这会将以下元素添加到 计算机根目录中的 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="System.Web.WebPages.Configuration, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

    <-- Additional assemblies here. -->

  </assemblies>
</compilation>

问题:无扩展 URL 在 IIS 7 或 IIS 7.5 上找不到 .cshtml/.vbhtml 文件

在 IIS 7 或 IIS 7.5 上,具有以下 URL 的请求无法找到具有 .cshtml 或 .vbhtml 扩展名的页面:

http://www.example.com/ExampleSite/ExampleFile

出现此问题的原因是,默认情况下,IIS 7 或 IIS 7.5 未启用 URL 重写。 最可能的方案是,在使用 IIS Express 在本地测试时看不到问题,但在将网站部署到托管网站时会遇到此问题。

解决方法

  • 如果已控制服务器计算机,在服务器计算机上安装更新(A 更新中所述 )可用,使某些 IIS 7.0 或 IIS 7.5 处理程序能够处理 URL 未以句点结尾的请求。

  • 如果无法控制服务器计算机(例如,要部署到托管网站),请将以下内容添加到网站的 web.config 文件中:

    <system.webServer>
      <modules runAllManagedModulesForAllRequests="true"/>
    </system.webServer>
    

问题:将应用程序部署到未安装 SQL Server Compact 的计算机

包含 SQL Server Compact 数据库的应用程序可以在未安装 SQL Server Compact 的计算机上运行。 Microsoft WebMatrix 1.0 会自动为你复制这些二进制文件,并执行相应的 web.config 文件转换。

解决方法 :如果需要复制这些文件并手动更改 web.config 文件,请执行以下操作:

  1. 将数据库引擎程序集复制到 目标计算机上的应用程序的 Bin 文件夹(和子文件夹):

    • 复制 C:\Program Files\Microsoft SQL Server 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
  2. 在网站的根文件夹中,创建或打开 web.config 文件。 (在 WebMatrix 1.0 中,如果单击此文件类型,则此文件类型可用“选择文件类型”对话框中的所有内容

  3. 将以下元素添加为元素的 <configuration> 子元素(不在元素内 <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 文件),如果应用程序设置为使用中等信任, Database 则帮助 WebGrid 程序将不起作用。

解决方法
如果使用 Visual Studio 2010,可以通过安装 Service Pack 1 版本来解决此问题。 在 SP1 版本的最终版本可用之前,可以从 Microsoft 下载中心的 Microsoft Visual Studio 2010 Service Pack 1 页下载 SP1 的 Beta 版本。

如果这不是实际操作,或者如果不使用 Visual Studio 2010,则可以暂时将应用程序设置为使用完全信任。

问题:“ApplicationPart”资源在外部可访问

如果程序集包含派生自 ApplicationPart 该类的对象,该程序集的资源将由 ResourceRouteHandler 该类公开。 以下列 URL 为例:

~/r.ashx/System.Web.WebPages.Administration/Resources/AdminResources.resources

此请求下载System.Web.WebPages.Administration.dll程序集中的所有资源字符串。 下载所有嵌入资源(甚至那些未用作静态内容的资源)。 如果嵌入的资源包含敏感信息,则表示安全风险。

解决方法
如果创建 ApplicationPart 对象,请确保与该 ApplicationPart 对象的程序集关联的嵌入资源不包含敏感信息。

WebMatrix

注意

有关 WebMatrix 的安装问题的信息,请参阅 本文档前面的 WebMatrix 安装问题

本文档的此部分介绍 WebMatrix 开发环境的已知问题。

问题:数据库连接字符串用户名或密码更改不会反映在“数据库”工作区中

解决方法

  1. web.config 文件中,更改连接字符串中的数据库名称(例如,将“1”添加到其中)。
  2. 保存 web.config 文件
  3. 单击“数据库并刷新。
  4. 将 web.config 文件中连接字符串中的数据库名称更改回原始数据库名称。
  5. 保存 web.config 文件
  6. 单击“数据库并刷新。

问题:无法删除由 WebMatrix 创建的文件夹

如果 WebMatrix 正在使用提升的权限运行(也就是说,使用 Windows 中的“以管理员身份运行”选项启动 WebMatrix),则无法使用 Windows 资源管理器删除由 WebMatrix 创建的文件夹。

解决方法
使用提升的权限运行 Windows 资源管理器。 执行以下步骤:

  1. 在 Windows 中,单击“开始”。
  2. 输入“Windows 资源管理器”,然后右键单击 Windows 资源管理器条目。
  3. 单击“ 以管理员身份运行”。 然后,可以删除文件夹。

问题:WebMatrix 1.0 无法执行需要提升的某些任务

WebMatrix 1.0 无法执行某些需要提升的任务,例如在以下情况下安装其他组件:

  • 在 Windows Vista 或 Windows 7 上,你使用没有管理权限的帐户登录,并且用户帐户控制(UAC)处于禁用状态。
  • 你使用的是 Microsoft Windows XP 或 Microsoft Windows Server 2003。

解决方法
WebMatrix 1.0 中的大多数任务不需要管理权限。 对于执行此操作的用户,你可以以管理员身份执行该操作,或执行以下步骤:

  • 在 Windows Vista 或 Windows 7 上,启用 UAC。
  • 在 Windows XP 上,将用户添加到管理员安全组。

如果未安装 Web 平台安装程序 3.0,则禁用“来自 Web 库的网站”选项。

解决方法
安装 Microsoft Web 平台安装程序 3.0

问题:Google Chrome 不可用作为“运行”选项

Google Chrome 不会显示在“开始”选项卡上的“运行”下的浏览器列表中。

解决方法
某些版本的 Google Chrome 无法正确注册到 Windows 中的默认程序功能。 解决方法是,启动 Google Chrome,单击“ 自定义并控制 Google Chrome ”菜单,单击“ 选项”,然后单击“ 使 Google Chrome 成为默认浏览器”。

问题:“外键”对话框不允许输入主键

外键 ”对话框不允许从主键表中输入主键名称。

解决方法
这是有目的性的。 无需从主键表中输入主键的名称。

问题:用于 Razor 语法、C# 或 Visual Basic 的 WebMatrix 中不提供 IntelliSense

WebMatrix 支持用于 HTML 和 CSS 的 IntelliSense。 但是,它不适用于其他语言。

解决方法
无。

问题:HTML 和 CSS 的 IntelliSense 建议上下文不适当的元素

用于 WebMatrix 中的标记的 IntelliSense 支持使用 XHTML 1.0 过渡架构和使用 CSS 2.1 架构的 CSS 的 HTML。 由于 IntelliSense 基于这些特定架构,因此某些标记、属性或属性可能建议不适合当前页或样式定义。 对于 HTML,它还可能导致内容中的意外建议可能解释为格式不正确的 XHTML(例如,标记未关闭时)。 如果插入点在不完整的标记内,此问题可能更明显;在这种情况下,IntelliSense 可能会建议新的打开标记或提供其他不正确的建议。

解决方法
对于 HTML,请确保在格式正确的完整 XHTML 页面中工作。 对于 CSS,没有解决方法。

问题:键入时未调用 IntelliSense

有时,IntelliSense 可能不会在编辑器中输入 HTML 或 CSS 时调用。 具体而言,当插入点直接位于另一个元素或文件末尾时,可能会发生这种情况。

解决方法
请确保插入点周围有空格,并且插入点不在文件的末尾。 还可以通过按 Ctrl+Space 手动调用 IntelliSense。

问题:没有可用于禁用 IntelliSense 的 UI

WebMatrix 1.0 不提供用于禁用 IntelliSense 的 UI 或手势。

解决方法
使用以下命令启动 WebMatrix,其中包括禁用 IntelliSense 的开关:

WebMatrix.exe #ExecuteCommand# EditorIntelliSense off

IIS Express

IIS Express 有自己的自述文件,可在以下 URL 中获取:

https://go.microsoft.com/fwlink/?LinkID=207675&clcid=0x409

SQL Server Compact

SQL Server Compact 有自己的自述文件,可在以下 URL 中使用:

https://go.microsoft.com/fwlink/?LinkID=208545

有关将 SQL Server Compact 作为 WebMatrix 的一部分安装的问题的信息,请参阅 本文档前面的 WebMatrix 安装问题

安装应用程序

问题:如果用户的“我的文档”文件夹重定向到网络共享,则安装应用程序可能需要很长时间

解决方法
无。 应用程序可能需要一段时间才能安装,但会正确安装。

发布应用程序

问题:发布 SQL Compact 数据库时出现“无法获取所需的权限”错误

WebMatrix 不支持将 SQL Server Compact 的支持二进制文件部署到运行具有中等信任配置的 .NET Framework 版本 3.5 的服务器。

解决方法
首选的解决方法是在服务器上安装 .NET Framework 4。 或者,执行以下操作:

  1. 将以下元素添加到 SecurityClasses Web_MediumTrust.config 文件中的节:

    <SecurityClass Name="ReflectionPermission" 
      Description="System.Security.Permissions.ReflectionPermission, mscorlib, 
        Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>	
        
    <SecurityClass Name="RegistryPermission" 
      Description="System.Security.Permissions.RegistryPermission, mscorlib, 
      Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
    
  2. Web_MediumTrust.config 文件中创建具有以下所需权限的新权限集:

    <PermissionSet class="NamedPermission" version="1" Name="SqlCe_Trust">
      <IPermission class="SecurityPermission" version="1" Flags="UnmanagedCode,SkipVerification"/>
      <IPermission class="EnvironmentPermission" version="1" Read="PROCESSOR_ARCHITECTURE"/>
      <IPermission class="RegistryPermission" version="1" Read="HKEY_LOCAL_MACHINE\" />
    </PermissionSet>
    
  3. 通过将以下元素 放入 Web_MediumTrust.config 文件中,将权限集应用于 SQL Server Compact:

    <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="ASP.Net">
      <IMembershipCondition class="UrlMembershipCondition" version="1" Url="$AppDirUrl$/*"/> 
      <CodeGroup class="UnionCodeGroup" 
          version="1" 
          PermissionSetName="SqlCe_Trust" 
          Name="SqlCe_Strong_Name" 
          Description="This code group grants code signed with the SQLCE strong name SqlCe_Trust. ">
        <IMembershipCondition class="StrongNameMembershipCondition" 
          version="1" 
          PublicKeyBlob="0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8" Name="System.Data.SqlServerCe" />
      </CodeGroup> 
    </CodeGroup>
    

在某些情况下,发布应用程序会导致“服务不可用”错误。

解决方法
在 WebMatrix 中,在“发布设置”窗口中将反斜杠 () 添加到服务器名称末尾,然后再次发布应用程序。

发布 Moodle 应用程序后,应用程序无法正常工作。

解决方法
在 WebMatrix 中,在“发布设置”窗口中将斜杠(/)添加到“网站名称字段末尾,然后再次发布应用程序。

问题:发布 nopCommerce 失败并出现数据库错误

发布 nopCommerce 失败,并报告数据库错误,例如“插入nop_log表失败”。

解决方法

  1. 在 WebMatrix 中,单击“运行在本地启动 nopCommerce。
  2. 登录到管理页。
  3. 单击“系统”菜单。
  4. 单击“日志”选项。
  5. 单击“清除日志”按钮。
  6. 再次发布 nopCommerce。

问题:下载已发布站点时 Silverstripe CMS 会显示“HTTP 500 PHP FCGI 错误”

解决方法
单击“下载已发布的站点后,在发布预览版中跳过silverstripe-cache/manifest_main。 该文件用于缓存,每台计算机都有自己的文件。

问题:下载已发布站点时,子文本显示“'/' 应用程序中的服务器错误”

解决方法
打开站点的 web.config 文件,并将 连接字符串数据库中的用户 ID 和密码替换为 SQL Server 管理员凭据(“sa”凭据)。

或者,请按照以下步骤为登录的用户帐户 db_owner 提供权限:

  1. 使用 Web 平台安装程序安装 SQL Server Management Studio。
  2. 连接到本地 SQL Server Express 实例(默认情况下为 .\SQLEXPRESS)。
  3. 单击“数据库>”[localSubtextDatabase]>“安全>用户>[localSubtextUser](默认值为subtextuser],右键单击,然后单击”属性”。
  4. 在“角色成员身份”部分选择 db_owner

问题:如果“目标 URL”字段没有前缀 http:// 或 https://,则网站在发布后可能无法正常工作

在“发布设置”对话框中,如果目标 URL 不以http://或部署https://后网站不起作用。

解决方法
请确保在发布网站之前,“发布设置”对话框中的目标 URL http://或 .https://

问题:发布 MySQL 数据库失败,出现错误“无法发布数据库。 如果远程数据库无法运行脚本,则可能会发生这种情况。

此错误可能由于多种原因而发生。 出现此错误的一个原因是数据库脚本包含单引号字符 ('),而目标 MySQL 数据库的默认字符集不是 UTF-8。

解决方法
将远程 MySQL 数据库的默认字符集设置为 UTF-8。

如果发布或下载 DotNetNuke 站点,可能需要清除缓存,以获取要显示在站点上的新链接。

解决方法

  1. 以“主机”身份登录。
  2. 转到主机菜单,然后选择“ 主机设置”。
  3. 向下滚动并在“高级设置”展开“性能设置”。
  4. 单击页面的 “清除缓存 ”链接。
  5. 转到页面底部并重启应用程序。

解决方法
service.config 文件中,users.config 文件和所有.xml文件,将 URL 字符串(例如)http://myhost.com/atomsite替换为本地字符串(例如, http://localhost:1239)。

问题:基于 MySQL 的应用程序(如 WordPress)无法发布和报告数据库错误

默认情况下,WebMatrix 使用 UTF-8 字符集安装 MySQL。 如果自行安装 MySQL,并且字符集不是 UTF-8(例如,是 Latin1),则数据库发布过程可能会失败。

解决方法

  1. 将 MySQL 的字符集更改为 UTF-8。 (有关详细信息,请参阅 MySQL 网站上的服务器字符集和排序规则
  2. 重新安装应用程序。
  3. 重新发布应用程序。

问题:对于具有基于浏览器的设置的应用程序,“下载已发布的站点”失败

某些应用程序(例如,Kentico CMS)要求在浏览器中启动它们,以便执行安装后设置,例如创建数据库。 如果在未完成基于浏览器的设置的情况下发布类似应用程序,则尝试从远程服务器下载同一站点将失败。

解决方法
在发布网站之前完成基于浏览器的设置。

问题:“下载已发布的站点”失败,DotNetNuke 和 Kooboo CMS 的数据库错误

如果尝试从服务器下载应用程序,并在“发布设置”对话框中的数据库连接字符串中拥有管理员凭据,则发布日志中可能会出现以下错误:

1:28:29 PM: An error occurred during execution of the database script. The approximate location of the error was between lines '3260' and '3262' of the script. The verbose log may have more information about the error. The command started with:

1:28:29 PM: CREATE LOGIN [MACHINE\Administrator] FROM WINDOW

1:28:29 PM: https://go.microsoft.com/fwlink/?LinkId=178587.

解决方法
如果可行,请使用数据库的非管理员凭据重新发布站点(或已发布站点)。

详细信息

有关 WebMatrix 1.0 的详细信息,请参阅以下网站: