繁体   English   中英

NuGet.Visual Studio-无法获取IVsPackageInstallerProjectEvents

[英]NuGet.Visual Studio - Unable to get IVsPackageInstallerProjectEvents

我正在使用NuGet.VisualStudio 4.0.0运行Visual Studio 2015 Update 3,并且尝试附加到IVsPackageInstallerProjectEvents。 但我无法获得参考。 而是抛出一个异常:

Expected 1 export(s) with contract name "NuGet.VisualStudio.IVsPackageInstallerProjectEvents" but found 0 after applying applicable constraints.

由于某些原因,IVsPackageInstallerEvents一切正常。 顺便说一句,[导入]不起作用。 我必须使用componentModel.GetService

[Import]
private IVsPackageInstallerEvents installerEvents;

[Import(typeof(IVsPackageInstallerProjectEvents))]
public IVsPackageInstallerProjectEvents installerProjectEvents { get; set; }

public ContributionsMonitor(IComponentModel componentModel)
{
    this.installerEvents = componentModel.GetService<IVsPackageInstallerEvents>();
    this.installerEvents.PackageReferenceAdded += InstallerEventsOnPackageReferenceAdded;
    this.installerEvents.PackageReferenceRemoved += InstallerEventPackageReferenceRemoved;

    this.installerProjectEvents = componentModel.GetService<IVsPackageInstallerProjectEvents>();
    this.installerProjectEvents.BatchEnd += InstallerProjectEventsBatchEnd;
}

private static void InstallerProjectEventsBatchEnd(IVsPackageProjectMetadata metadata)    {
    Debug.WriteLine("Added to {0}", metadata.ProjectName);
}

private static void InstallerEventPackageReferenceRemoved(IVsPackageMetadata metadata)
{
    Debug.WriteLine("Remove {0} {1} {2}", metadata.Id, metadata.Title, metadata.VersionString);
}

private static void InstallerEventsOnPackageReferenceAdded(IVsPackageMetadata metadata)
{
    Debug.WriteLine("Add {0} {1} {2}", metadata.Id, metadata.Title, metadata.VersionString);
}

可能是什么问题?

我遇到过同样的问题。 重新安装NuGet扩展程序已为我修复。

https://github.com/NuGet/Home/issues/3042复制的解决方案:

  1. 从工具>扩展和更新>已安装,卸载NuGet软件包管理器
  2. 关闭Visual Studio的所有实例
  3. 删除%localappdata%\\ Microsoft \\ VisualStudio \\ 14.0
  4. https://dist.nuget.org/index.html下载NuGet 3.4.4 VSIX for 2015
  5. 双击下载的VSIX进行安装
  6. 以Admin身份运行Visual Studio开发人员命令提示符,并执行devenv.exe / setup(等待该过程完成,您可能需要检查任务管理器)。
  7. 再次启动Visual Studio 2015

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM