Профиль клиента .net Framework-- Что делать, если мне нужна Dll? - PullRequest
0 голосов
/ 08 октября 2009

Я подумываю о входе в профиль клиента .net Framework, но в настоящее время я использую System.Design.dll, которого нет в профиле.

Я могу, конечно, вручную распространять их в каталоге папки моего приложения, но есть ли лучшая стратегия?

Ответы [ 4 ]

2 голосов
/ 22 октября 2009

У вас есть два варианта:

  1. таргетинг на полный рабочий стол
  2. Рефакторинг кода для удаления зависимости System.Design.dll

См. Также сообщение в блоге .

2 голосов
/ 08 октября 2009

Я не думаю, что по закону вам разрешено распространять отдельные библиотеки .NET Framework. Если вы зависите от DLL, которая не является частью профиля клиента, либо избавьтесь от зависимости каким-либо образом, либо не ориентируйтесь на профиль клиента; рассмотреть вопрос о необходимости полной .NET Framework.

0 голосов
/ 25 октября 2009

Начнем с того, что вы не можете легально распространять одну .Net DLL вместе с вашим приложением.

Далее позволяет убедиться, что вы понимаете назначение профиля клиента; и это должно обеспечить меньшую площадь для распространения и / или более быстрое развертывание для ваших пользователей. Это достигается за счет упрощенного подмножества функций Windows Presentation Foundation (WPF), Windows Forms, Windows Communication Foundation (WCF) и ClickOnce.

Исходя из этого, вам необходимо решить, соответствует ли Профиль клиента вашим целям для вашего приложения.

  1. Если это так, вам понадобится рефакторинг вашего проекта, чтобы не быть зависит от любых библиотек, которые не является частью этого профиля.

  2. Если это не так, то вам действительно не следует использовать профиль клиента.

Как я понимаю, у вас есть только эти два варианта.

0 голосов
/ 24 октября 2009

Проблема с распространением вашего локального файла System.Design.dll вручную заключается в том, что если позднее эта библиотека будет исправлена ​​в рамках, ваше приложение будет продолжать использовать более старую версию библиотеки DLL. Конечно, вы можете поместить код в вашу программу, чтобы динамически загружать локальную DLL, только если полная структура отсутствует ... но это становится более сложным.

Как насчет создания двух версий приложения .. одна не зависит от System.Design.dll (и требует только профиль клиента), а другая зависит от System.Design.dll, для которой требуется полная структура ... и позволяет пользователю выбрать компромисс?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...