【发布时间】:2018-10-05 12:48:07
【问题描述】:
我有一个位于 App 文件夹中的 ASP.NET Core MVC 应用程序。而且我没有使用 Kestrel 或 IIS Express 来运行它。相反,我们有一个基础架构,可以直接在 IIS 中托管 App 文件夹,并执行更多操作以使我们的开发环境与我们的生产环境 (DevOps) 非常相似。
一切正常。当我构建时,输出进入 bin\Debug\netcoreapp2.0 文件夹,我们有一个 Web.config 文件,我们在其中配置了 AspNetCoreModule 以从该路径加载条目 DLL。
现在我想使用 ClosedXML,它依赖于 System.Drawing.Common 库。
当我构建和测试我的应用程序时,我遇到了这个错误:
应用程序依赖清单中指定的程序集 (App.deps.json) 未找到:
包:'System.Drawing.Common',版本:'4.5.0-preview1-25914-04'
路径:'runtimes/win/lib/netcoreapp2.0/System.Drawing.Common.dll'
关键是,我有一个托管应用程序的bin\Debug\netcoreapp2.0 文件夹,我可以确认System.Drawing.Common 已经复制到那里。然而似乎 MSBuild 没有将其复制到预期的 bin\Debug\netcoreapp2.0\runtimes\win\lib\netcoreapp2.0 文件夹中。
我可以将请求的库复制到给定的文件夹,即runtime/win/lib/netcoreapp2.0,并且应用程序可以正常工作。
我可以向我的App.runtimeconfig.json 添加额外的探测路径。
我可以在我的App.deps.json 中将这个库的搜索路径更改为同一目录。
但这些都是手动完成的。
如何让构建过程将依赖项复制到正确的位置?
【问题讨论】:
标签: c# visual-studio iis .net-core asp.net-core-mvc