【问题标题】:Use Aurelia without .NET Core, NET Core - NET Framework interoperability在没有 .NET Core 的情况下使用 Aurelia,NET Core - NET Framework 互操作性
【发布时间】:2017-10-21 23:15:39
【问题描述】:

我可以在没有 ASP.NET Core Framework 的情况下使用 Aurelia,而只使用 ASP.NET,因为后端完全用 .NET Framework 4.5 编写,并且 ASP.NET Core 应用程序总是在静态调用时抛出异常,类型- 加载,等等。

有没有办法在 Standard.NET Framework 上设置 Aurelia? 或者有没有一种方法可以在没有异常的情况下调用 .NET Framework Logic?

我已经尝试安装“Microsoft.NETCore.Portable.Compatibility”Nuget-Package,它直接解决了我在 Aurelia Code 中的一些问题,但后端仍然抛出异常。 后端代码可能需要在 Aurelia App 的 wwwroot 目录中吗? (如 .dll 之类的),这可能是它不起作用的原因吗?

【问题讨论】:

  • Aurelia 是一个客户端 Javascript 框架,与您使用的后端无关。
  • 哦,是的。你说的对。问题是,我无法设置启用 Aurelia 的 ASP.NET MVC 应用程序(没有 .NET CORE)。所有生成器和指令只处理 .NET Core ASP.NET,这对我来说是不可能的。你有什么想法或指示我可以如何实现这一目标?
  • 使用 Aurelia cli 安装后,您可以执行 au new 它创建默认的必要文件夹/文件,需要非常整洁的 imo。这是一个 npm 命令顺便说一句......只需要安装 node.js。 aurelia.io/hub.html#/doc/article/aurelia/framework/latest/…
  • 我只是发现将客户端代码与 api 服务器代码分开更简单、更清晰。每人一个文件夹。客户端运行在提供 html/js 的静态文件服务器上,而 webapi 服务器运行在不同的端口上并提供 web api 请求。

标签: c# asp.net .net asp.net-core aurelia


【解决方案1】:

我认为您需要的是在 .Net Framework 4.5.2 上运行的 .Net Core 项目。然后,您可以从这个网站项目与同样使用 .Net Framework 4.5.2 编写的后端 dll 进行通信。

要设置新的 Aurelia .Net Core 项目,您可以按照 Rob Eisenberg 在https://channel9.msdn.com/Events/Build/2017/T6032 中提供的说明进行操作。请参阅 8:39 的幻灯片。

引用这张幻灯片:

dotnet new --install Microsoft.AspNetCore.SpaTemplates::*

从https://nodejs.org 安装 Node.js

创建一个新项目(来自 cmd)

  • mkdir app-folder-name-here
  • cd app-folder-name-here
  • dotnet new aurelia
  • dotnet 恢复
  • npm 安装
  • export ASPNETCORE_ENVIRONMENT=开发
  • dotnet 运行

这将创建一个在 .Net Core Framework 上运行的新 .Net Core 项目。在这个示例中,您可以看到 Aurelia 视图模型使用 HttpClient 从 MVC 控制器中的函数获取数据的示例。但是,您将无法通过此控制器引用并与使用 Framework 4.5.2 编写的 dll 进行交互,因为此项目最初是为使用 .Net Core 框架而生成的。

要解决此问题,您需要将项目转换为手动使用 .Net Framework 4.5.2。您可以按照此处的说明执行此操作:

How to change target framework with VS 2017 RC?

除非它说要在 csproj 文件中包含以下内容

<TargetFramework>net462</TargetFramework> <RuntimeIdentifier>win7-x86</RuntimeIdentifier>

确保将目标框架设置为 net452

我完成了上述步骤,这一切都对我有用。请注意,我使用的是 VS 2017。我不确定上述链接中是否有任何特定于 VS 2017 的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-13
    • 2017-10-12
    • 2017-06-21
    • 2018-07-10
    • 2018-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多