Servicestack - OrmLite 不属于 ServiceStack 命名空间

问题描述 投票:0回答:1

我不断收到以下编译错误消息(“命名空间‘ServiceStack’中不存在类型或命名空间名称‘OrmLite’(您是否缺少程序集引用?)”)。这是在成功构建和发布 ServiceStack Web 应用程序之后(运行最新的 ServiceStack 版本 5.0.2 并使用 Servicestack VS Razor 和 Bootstrap 模板)。

编译错误消息有时仅在浏览到部署它的本地主机时在一段时间(例如 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
.net servicestack ormlite-servicestack
1个回答
2
投票

这应该在 MyGet 上的最新 v5.0.3 中得到解决(也可能在 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>
    
© www.soinside.com 2019 - 2024. All rights reserved.