【问题标题】:DotnetCore - SharpApp - Parcel Template Server IssueDotnetCore - SharpApp - 包裹模板服务器问题
【发布时间】:2020-03-17 21:00:56
【问题描述】:

我一直在使用 ServiceStack 的 SharpApp,我阅读了文档以从 parcel-web 模板开始。 https://github.com/NetCoreTemplates/parcel-webapp

我下载了代码并使用命令提示符,转到客户端文件夹。我按照以下步骤操作:

npm install -g parcel-bundler

然后我跑

npm run dev

然后我打开新的命令提示符并转到客户端文件夹,然后输入

npm run server

我得到以下输出:

E:\Trace3\Samples\Trace3TaskPane\client>npm 运行服务器

my-app@0.1.0 服务器 E:\Trace3\Samples\Trace3TaskPane\client dotnet build -c Release ../server && node scripts/copy-server.js && web ../app/app.settings

适用于 .NET Core 的 Microsoft (R) Build Engine 版本 16.4.0+e901037fe 版权所有 (C) 微软公司。保留所有权利。

E:\Trace3\Samples\Trace3TaskPane\server\server.csproj 的恢复在 31.12 毫秒内完成。 服务器 -> E:\Trace3\Samples\Trace3TaskPane\server\bin\Release\netcoreapp3.1\server.dll

构建成功。 0 个警告 0 个错误

经过时间 00:00:00.64 使用 'E:\Trace3\Samples\Trace3TaskPane\app\app.settings' 尝试加载插件“plugins/server.dll”,大小:4608 字节 无法加载一种或多种请求的类型。 无法加载文件或程序集“System.Runtime,Version=4.2.2.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”。该系统找不到指定的文件。 无法加载文件或程序集“System.Runtime,Version=4.2.2.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”。该系统找不到指定的文件。 无法加载文件或程序集“System.Runtime,Version=4.2.2.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”。系统找不到指定的文件。

根据文档

然后启动 ServiceStack 服务器来托管您的 Web 应用程序运行:

$ npm 运行服务器

它将在http://localhost:5000 托管您的应用程序,在调试模式下将启用热重载,当它检测到包裹所做的任何文件更改时,它将自动重新加载您的网页。

请建议如何解决这个问题?

问候, 贾米尔

【问题讨论】:

    标签: .net-core servicestack


    【解决方案1】:

    Server 库项目需要是 netstandard2.0 项目,该项目已在最新的 parcel-webapp 项目模板中更新,因此如果您创建一个新项目,例如:

    $ x new parcel-webapp ProjectName
    

    您应该能够按预期运行服务器:

    $ npm run server
    

    就像任何 .NET Core 应用程序一样,可以使用 ASPNETCORE_URLS 环境变量指定要监听的端口和主机,您可以在运行 npm 脚本之前在 Windows 上设置它,例如:

    $ SET ASPNETCORE_URLS=https://localhost:8080
    $ npm run server
    

    或者,如果您愿意,可以将其包含在 package.json 的 npm 脚本中,例如:

    "scripts": {
      "server": "SET ASPNETCORE_URLS=https://localhost:8080 && dotnet build -c Release ../server && node scripts/copy-server.js && x ../app/app.settings",
    },
    

    要在 macOS 或 Linux 中设置环境变量,请删除 SET 前缀。

    【讨论】:

    • 如何更改 url 端口?不用5000?在哪里配置?
    • @Jamil 您可以在您的 app.settings 中添加 port xxx,请参阅 Sharp Apps 以获取一些示例。或者,就像普通的 .NET Core 应用程序一样,您可以在 ASPNETCORE_URLS 环境变量中指定它来更改它。
    • 按照您的建议,我设置了不同的端口,它工作正常,但要设置自定义基本 URL。例如:默认情况下,它使用localhost:PORT 运行,我尝试使用自定义 URL 进行托管,例如:http;//mysite.local/ 我尝试使用 ASPNETCORE_URLs,但它不起作用。请提出我在这里犯的错误。这是应用程序设置。名称 Parcel Web App 调试真实 URL mjnsoft.local
    • 我试过了,但它不起作用。这就是我正在做的事情。我按照您的建议更新了我的 package.json 文件。然后在客户端文件夹中的 cmd 上,输入“npm run build”。它编译并构建应用程序。然后在 cmd 上,我导航到“app”文件夹并输入“x”来运行该应用程序。它运行应用程序,但仍显示使用localhost:5000
    • @Jamil 如果您正在更新您的 npm 脚本,那么您需要运行脚本来启动您的应用程序,即。 npm run server,如果您从/app 文件夹运行x,则需要设置环境变量,方法是在运行x 之前先设置SET ASPNETCORE_URLS=https://localhost:8080,或者在与SET ASPNETCORE_URLS=https://localhost:8080 && x 相同的命令中.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-04
    • 2022-01-18
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多