在IIS背后的ASP.NET核心中处理多个web项目

在IIS背后的ASP.NET核心中处理多个web项目,iis,asp.net-core,Iis,Asp.net Core,我在ASP.NET Core 2.0中有一个解决方案,它有几个共享类库项目和两个web项目。web项目是完全独立的,但它们使用相同的共享项目。当然,这两个网站需要自己的域名。在IIS中应如何处理此问题?我找不到有关此场景的任何信息 为了澄清,解决方案如下所示。两个web项目都使用所有三个共享项目,但这两个web项目并不相互引用 共享项目 MyApp.Core MyApp.Data MyApp.Services 网络项目 MyApp.Web MyApp.Admin 我需要在exampl

我在ASP.NET Core 2.0中有一个解决方案,它有几个共享类库项目和两个web项目。web项目是完全独立的,但它们使用相同的共享项目。当然,这两个网站需要自己的域名。在IIS中应如何处理此问题?我找不到有关此场景的任何信息

为了澄清,解决方案如下所示。两个web项目都使用所有三个共享项目,但这两个web项目并不相互引用

  • 共享项目
    • MyApp.Core
    • MyApp.Data
    • MyApp.Services
  • 网络项目
    • MyApp.Web
    • MyApp.Admin
我需要在
example.com
上运行
MyApp.Web
,在
Admin.example.com上运行
MyApp.Admin


(注意:我不是在寻找详细的安装说明,我已经很好地介绍了。我只是想了解运行多个项目的具体配置。)

在您的场景中,您应该在IIS中创建和部署两个网站

使用
dotnet publish
命令发布时,所有必需的依赖项都会复制到输出文件夹(默认配置中的运行时除外,但即使是这样也可以更改)

您将只有两个独立的网站共享代码和库,但它们不会相互干扰。我有多个类似的部署,没有遇到任何问题,甚至
netcoreapp1.1
/
netcoreapp2.0
运行时也没有问题


如果您使用EntityFramework(或类似的数据库访问工具),则应选择将数据库迁移委托给单个项目。

就这一点而言,与部署任何web应用程序的方式没有区别。当您的web项目发布时,它们将在所有依赖项中滚动,因此您实际上不会“承载”类库项目之类的内容。这些仅作为DLL包含。您只需为每个web项目创建一个站点,并将发布的代码放在那里。然后为每个站点设置适当的绑定(针对您的域)。@ChrisPratt得到了它,这很有意义。非常感谢。好吧,这很有道理。我考虑过这种方法,但想确认没有更好的方法。非常感谢!