【发布时间】:2018-01-29 11:22:06
【问题描述】:
我正在尝试在我的 ASP.NET MVC 应用程序中获取已安装 NuGet 包的列表,并且我正在使用 NuGet.VisualStudio,如下所示:
var componentModel = (IComponentModel)Package.GetGlobalService(typeof(SComponentModel));
IVsPackageInstallerServices installerServices = componentModel.GetService<IVsPackageInstallerServices>();
if (!installerServices.IsPackageInstalled(project, "TemplateBuilder"))
{
var installer = componentModel.GetService<IVsPackageInstaller>();
installer.InstallPackage("All", project, "TemplateBuilder", (System.Version)null, false);
}
由于某些原因,我将上面的代码放在Global.asax.cs 文件中,但componentModel 始终为空。
知道它有什么问题吗?
【问题讨论】:
-
将
var componentModel = (IComponentModel)Package.GetGlobalService(typeof(SComponentModel));更改为var bob = Package.GetGlobalService(typeof(SComponentModel)); var componentModel = (IComponentModel)bob;bob是什么?是否为空? -
是的,代码
bob为空 -
不,我以前读过。
标签: c# asp.net-mvc visual-studio nuget componentmodel