0

我有一个包含多个项目的解决方案,MVC Web 应用程序被编译为 .dll 并由另一个项目启动。

当我尝试运行 Browser Link 时,它只构建 web 项目,并且我假设由于没有启动对象而无法启动它?

无论如何配置浏览器链接来做到这一点?

(我已经看到有关如何修复Visual Studio 2019 的浏览器链接的各种线程,我已经仔细检查了我的配置并尝试安装 BrowserLink.Loader nuget 包但无济于事)。

点击这里查看解决方案结构

启动.cs:

public class Bootup
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Web.Startup>();
            })
            .UseWindowsService(options =>
            {
                options.ServiceName = "VME InterCommunication Service";
            })
            .ConfigureServices((hostContext, services) =>
            {
                //.......
            });
}

启动.cs:

public void ConfigureServices(IServiceCollection services)
{
    //........

    //........

    //........

    //........

    //........

    //........

    services.AddRazorPages().AddMicrosoftIdentityUI();

    services.AddRazorPages().AddRazorRuntimeCompilation();

    //........

}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseBrowserLink();
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/Home/Error");
        // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
        app.UseHsts();
    }
    app.UseHttpsRedirection();

    env.WebRootPath = new FileInfo(env.ContentRootPath)?.Directory?
        .GetDirectories().First(dir => dir.Name == "VME InterCommunication Web")
        .GetDirectories().First(dir => dir.Name == "wwwroot").FullName!;

    app.UseStaticFiles(new StaticFileOptions {
        FileProvider = new PhysicalFileProvider(env.WebRootPath)
    });

    //........

    //........
    //........
    
    //........

    //........
}
4

0 回答 0