我们有基于ServiceStack的Web应用程序。目前,它可与.NET 4.5.2一起使用。我们正在尝试重新安排它,以允许应用程序与NET CORE和.NET一起运行。
我试图创建一个包含应用程序主要部分的程序集,用.NET Standard编译该程序集,并在两种不同的环境中使用它:.NET CORE和.NET(在IIS下)(每个环境都有其自己的启动dll,其中一个带有Program / Startup,另一个是Global.asax)
问题是在.NET Standard Assembly中使用哪种ServiceSTack版本。我尝试使用ServiceStack Core,但由于在IIS下使用“未配置MVC服务,请将services.AddMvc()
添加到StartUp.ConfigureServices()”而失败,然后尝试使用ServiceStack常规nuget并得到:“无法加载文件或程序集'ServiceStack,Version = 5.0.0.0,Culture = neutral,PublicKeyToken = null'或其依赖项之一。”
它应该如何工作?
答案 0 :(得分:1)
请参阅此答案并关注/阅读所有链接和来源:
https://stackoverflow.com/a/51252374/85785
如果您需要同时支持.NET Standard和.NET Framework依赖项,则您的项目需要多目标。不能在同一项目中混合使用.NET Framework和.NET Standard程序集。
如果要移植到.NET Framework上的ASP.NET Core项目,则需要引用.Core
程序包,有关详细信息,请参阅此文档:
http://docs.servicestack.net/templates-corefx
如果要移植到.NET Core运行时上的ASP.NET Core项目并在其中运行,可以引用常规的ServiceStack NuGet软件包,其中包含大多数软件包的 .NET Standard 2.0 构建。
如果您使用的是Razor或MVC,则需要在ASP.NET Core App中启用MVC。有关在.NET Core上工作的项目的示例,请参见下面的这些模板: