[英]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复制的解决方案:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.