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

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

在 64 位计算机上安装 SQL Server Compact 4.0 时,SQL Server Compact 4.0 的托管程序集不会放置在全局程序集缓存 (GAC) 中,并且计算机仅安装了 .NET Framework 3.5 SP1 客户端配置文件。 未安装在 GAC 中的托管程序集包括:

  • System.Data.SqlServerCe.dll (ADO.NET 提供程序)
  • System.Data.SqlServerCe.Entity.dll (ADO.NET 实体框架 )

解决方法
卸载 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 版具有 Razor 语法的 ASP.NET 网页 的新功能、更改和已知问题。

新增功能

新建:添加了配置设置以禁用包管理器

asp:AdminManagerEnabled新键可用于 <appSettings>web.config 文件中的 元素,这使你可以完全禁用包管理器。 此元素的默认值为 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 命名空间。 如果已使用此元素,则必须在配置文件中重命名它。

已知问题

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

用于创建和存储成员身份 (登录) 密码的算法已更改为更安全。 因此,) beta 版 ASP.NET Razor 中创建的成员 (用户存储的密码将不会被识别。

解决 方案 如果站点尚未投入生产,请从成员资格数据库中删除用户记录。 如果数据库处于活动状态,则以编程方式重新生成成员身份数据库中的现有密码。

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

若要初始化 ASP.NET Razor 网站的成员资格提供程序,请调用 WebSecurity.InitializeDatabaseConnection 方法。 (在 WebMatrix 中,初学者网站模板在 _AppStart.cshtml file. ) 如果 autoCreateTables 此方法的参数默认设置为 true (,则会在 Starter Site 模板) 中将其设置为 true,如果无法识别的表名称传递到方法 (第二个参数) , 方法不会引发错误。 相反,它会自动创建表。

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

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

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

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

解决 方案 手动为网站创建 App_Data 文件夹。 然后,确保应用程序在 (通常为网络服务) 下运行的 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无法在运行时检索用户的本地应用程序路径。

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

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

如果部署使用 RC2 版本生成的 ASP.NET 网页 (Razor) 应用程序,并且该应用程序在 /App_Data/admin 下包含password.txt或 packagesources.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 网站上的 proxy> 元素 (网络设置)

问题:卸载.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 在本地测试时看不到问题,但在将网站部署到托管网站时会遇到此问题。

解决方法

问题:将应用程序部署到未安装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
      to\Bin
    • 复制 C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private\x86\to\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>
    

问题:Visual Basic 中的“数据库”和“WebGrid”帮助程序在中等信任中不起作用

如果使用 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 开发环境的已知问题。

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

解决方法

  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 设为默认浏览器”。

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

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

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

问题:IntelliSense 在 Razor 语法、C# 或 Visual Basic 的 WebMatrix 中不可用

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

解决方法
无。

问题:适用于 HTML 和 CSS 的 IntelliSense 建议不符合上下文的元素

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

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

问题:键入时未调用 IntelliSense

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

解决方法
请确保插入点周围有空格,并且插入点不在文件的末尾。 还可以通过按 Ctrl+空格键手动调用 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. 将以下元素添加到 SecurityClassesWeb_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。 此文件用于缓存目的,特定于每台计算机。

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

解决方法
打开站点的 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. 重新发布应用程序。

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

例如,某些应用程序 (肯蒂科 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 的详细信息,请参阅以下网站: