Servicestack - OrmLite不是ServiceStack命名空间的一部分

时间:2018-04-05 12:30:22

标签: servicestack ormlite-servicestack

我继续收到以下编译错误消息("类型或命名空间名称' OrmLite'在命名空间中不存在' ServiceStack'(你错过了一个程序集)参考)"?)。这是在成功建造之后。发布ServiceStack Web应用程序(运行最新的ServiceStack版本5.0.2并使用Servicestack VS Razor和Bootstrap模板)。

编译错误消息有时仅在浏览到部署它的localhost后一段时间(例如10分钟)才会出现。

要解决,我试过

  • 清理项目&重建然后部署
  • 将.NET框架升级到4.6.2。
  

' /'中的服务器错误应用。           编译错误           描述:编译服务此请求所需的资源时发生错误。请查看以下内容   具体的错误详细信息并适当修改源代码。

     

编译器错误消息:CS0234:T 他的类型或命名空间名称' OrmLite'   命名空间中不存在' ServiceStack' (你错过了吗?   装配参考?)

    Source Error:


    Line 20:     using ServiceStack;
    Line 21:     using ServiceStack.Html;
    Line 22:     using ServiceStack.OrmLite;
    Line 23:     using ServiceStack.Razor;
    Line 24:     using ServiceStack.Text;

    Source File: d:\local\Temp\cuapf353.0.cs    Line: 22

1 个答案:

答案 0 :(得分:2)

这应该在最新的v5.0.3 on MyGet中解决(也可能在NuGet的v5.0.2中)。这是因为Razor页面引用ServiceStack.Ormlite但没有使用它。

解决方法是从Web.config中的Razor名称空间中删除ServiceStack.Ormlite

<system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <pages pageBaseType="ServiceStack.Razor.ViewPage">
        <namespaces>
            <add namespace="System" />
            <add namespace="System.Linq" />
            <add namespace="ServiceStack" />
            <add namespace="ServiceStack.Html" />
            <add namespace="ServiceStack.Razor" />
            <add namespace="ServiceStack.Text" />
            <!-- add namespace="ServiceStack.OrmLite" / --> remove this
            <add namespace="ProjectNamespace" />
            <add namespace="ProjectNamespace.ServiceModel" />
        </namespaces>
    </pages>
</system.web.webPages.razor>