我有一个ASP.NET 5(MVC 6)Web应用程序。当我将它部署到某个文件夹的IIS中时,我可以看到所有NuGet包(从project.json
文件引用,dependencies
部分)被复制到文件夹C:\inetpub\wwwroot\MyApp\approot\packages
中。
有没有办法动态添加对NuGet包的引用?类似于将包手动添加到此..\approot\packages
文件夹中,并以某种方式告诉应用程序加载它。
我意识到只加载了project.json
文件(dependencies
部分)中的包,即使NuGet包在此文件夹..\approot\packages
中,也未加载。
答案 0 :(得分:0)
不幸的是,开箱即用不支持。也许你可以通过复制DNX的代码来提出一些不受支持的方法,但实际上并不推荐这样做。
如果您设法这样做,请注意您可能会破坏某些方案。我想到的第一个是服务,因为服务面包屑不会在正确的时间写在磁盘上。这可能是一个很大的安全漏洞。
其次,正确加载所有新包的依赖关系会很棘手,因为您需要查看已经加载的DNX并可能重用其中的一些。我并非100%确定我们公开了所有这些数据。
此外,如果您设法动态加载NuGet包,还有另外一件事要考虑:NuGet包的依赖关系会发生什么变化?如果它们不可用,你去下载它们吗?如果是的话,从何而来?