У меня странная проблема.Я разрабатываю надстройку для Outlook 2007 с использованием Visual Studio 2010 с VSTO 3.0 и развертываю ее с использованием ClickOnce.
Я хотел бы проверить, есть ли какие-либо обновления и, если да, предложить пользователю перезапустить Outlook.
Однако, если я вызываю ApplicationDeployment.CheckForDetailedUpdate или ApplicationDeployment.CheckForUpdate, я получаю следующее исключение:
DependentPlatformMissingException:
Невозможно установить или запустить приложение.Приложение требует, чтобы сборка Microsoft.Vbe.Interop.Forms версии 11.0.0.0 сначала была установлена в глобальном кэше сборок (GAC).
Это происходит как на моем компьютере разработчика, так и на удаленном компьютере.
Вот что я попробовал до сих пор безуспешно: - Удалил и переустановил PIA Office 2007 - Добавил Microsoft.Vbe.Interop.Forms v 11.0.0.0 (файл версии 12. *) в качестве ссылки на мой проект - Провереночто DLL с правильной версией находится в моем GAC
Я понятия не имею, почему происходит это исключение.Надеюсь, что вы можете помочь.
Обновление Я только что попробовал этот совершенно новый проект VS 2010.Вот мой файл дополнения
Если мой фреймворк установлен на .net 4, он работает нормально.Если мой каркас установлен на .net 3.5, я получаю то же исключение и ошибку.
namespace TestOutlookAddIn2 {открытый частичный класс ThisAddIn {private void ThisAddIn_Startup (отправитель объекта, System.EventArgs e) {MessageBox.Show ("Я в ");
if (ApplicationDeployment.IsNetworkDeployed)
{
var info = ApplicationDeployment.CurrentDeployment.CheckForDetailedUpdate();
}
}
private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
{
}
#region VSTO generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InternalStartup()
{
this.Startup += new System.EventHandler(ThisAddIn_Startup);
this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
}
#endregion
}
}