PresentationFramework.Aero2 не включен в папку развертывания ClickOnce.

Я пытаюсь установить тему рабочего стола Win8 (PresentationFramework.Aero2.dll), но когда я развертываю приложение с помощью ClickOnce, эта сборка не добавляется в развертывание.

Пробовал установить CopyToLocal=true - не помогает. Я попытался «включить» его в установщик ClickOnce, но он даже не появился в списке.

Что может быть сделано?


person New Dev    schedule 28.07.2013    source источник
comment
Он входит в состав .NET Framework. Вы не развертываете его самостоятельно, точно так же, как вы не развертываете, скажем, System.dll.   -  person Hans Passant    schedule 28.07.2013
comment
@HansPassant это тематическая сборка. OP должен фактически включать это, если он планирует, чтобы его приложение WPF поддерживало тему Aero2 (Windows 8) в коробках, отличных от Windows 8.   -  person Federico Berasategui    schedule 28.07.2013
comment
@HighCore, есть идеи, почему он не развертывается? Я даже пытался вручную скопировать файл в папку развернутого приложения, и это все равно не сработало.   -  person New Dev    schedule 29.07.2013
comment
@HansPassant Должно ли это означать, что сборки PresentationFramework.Aero и Aero2 можно найти на всех компьютерах под управлением Windows?   -  person florien    schedule 01.11.2018


Ответы (1)


То же самое произошло со мной в приложении WPF, где у меня была ссылка на сборку, которая не включалась в пакет ClickOnce, несмотря на то, что в настройках развертывания проекта она была установлена ​​как Include.

В моем случае сборка была Microsoft.Expression.Drawing.dll, но думаю у вас такая же ситуация.

Я решил это, используя несколько хакерское решение:

Создайте сильную ссылку на сборку, добавив некоторый код, который ссылается на класс внутри этой сборки, например:

public static class DummyClass
{
   public static Microsoft.Windows.Themes.BulletChrome DummyProperty {get;set;}
   //BulletChrome is a class defined in PresentationFramework.Aero.dll
}

Я уверен, что должно быть более элегантное решение этой проблемы, но вышеизложенное хорошо сработало для меня.

person Federico Berasategui    schedule 29.07.2013