小编Mah*_*ore的帖子

如何修复.net核心应用程序中找不到的swagger.json

我正在IIS服务器上部署.net核心应用程序,并且在swagger UI中遇到了找不到swagger.json的问题。当我在本地运行(开发环境)时,一切运行正常,但是当我在IIS服务器上部署它时,找不到swagger.json文件。

以前,我在.net core 2.1应用程序中遇到过此问题,我通过编写以下代码来获取虚拟基本路径来解决此问题。

string basePath = Environment.GetEnvironmentVariable("ASPNETCORE_APPL_PATH");
            basePath = basePath == null ? "/" : (basePath.EndsWith("/") ? basePath : $"{basePath}/");

 app.UseSwaggerUI(c =>
     {
      c.SwaggerEndpoint($"{basePath}swagger/v1/swagger.json", "Test.Web.Api");
      c.RoutePrefix = "";
     });
Run Code Online (Sandbox Code Playgroud)

我试过下面的代码来解决它:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
 {
   app.UseSwaggerUI(c =>
     {
      c.SwaggerEndpoint($"{env.ContentRootPath}swagger/v1/swagger.json", "Test.Web.Api");
       //OR
      c.SwaggerEndpoint($"{env.WebRootPath}swagger/v1/swagger.json", "Test.Web.Api");
      c.RoutePrefix = "";
     });
 }
Run Code Online (Sandbox Code Playgroud)

但是上面的代码没有用,因为它返回实际的物理路径而不是虚拟路径。

有谁知道如何在不起作用的.net core 2.2中获取虚拟路径Environment.GetEnvironmentVariable("ASPNETCORE_APPL_PATH");。任何线索都将有所帮助。

c# asp.net-core asp.net-core-2.2

1
推荐指数
3
解决办法
4215
查看次数

如何从包中忽略src文件夹

我有一个电子应用程序,下面是文件夹结构。

app
|--node_modules
    |--somepackage/src
|--src
Run Code Online (Sandbox Code Playgroud)

我正在使用electronic-packager打包此应用程序,因此我尝试通过执行以下命令来忽略根级src文件夹。

"scripts": {
       "pack": "rimraf ./packaged/ && electron-packager . Test.Client --app-version=0.0.1 --prune --out=packaged --platform=win32 --arch=x64 --overwrite --ignore=webpack.config.js --ignore=/src 
  },
Run Code Online (Sandbox Code Playgroud)

但是这里的问题是我的node_modules也有一些包含src文件夹的软件包,而这些src文件夹也被--ignore = / src语句忽略了。

javascript electron electron-packager

0
推荐指数
1
解决办法
1284
查看次数