Я использую для Windows Workflow Foundation с пользовательских деятельности, и я хотел бы создать пользовательский дизайн для этих видов деятельности в моем рабочем процессе.Создание пользовательских проектной деятельности без ссылки на дизайн DLL в Windows Workflow Foundation
Я могу сделать проект дизайна и дизайнер xaml. Также я могу видеть их в рабочем процессе, , если я прямо ссылаюсь на проект проекта в проекте Workflow.
Это то, что я бы не хотел делать, потому что DLL Designer не следует развертывать в производственной среде. Мне хотелось бы иметь собственный дизайн в редакторе рабочих процессов Visual Studio.
Я был в состоянии получить все работает, добавив следующее:
[Designer("namespace,dll")]
public class CustomActivity : NativeActivity<string>
и после этого копируя длл в Visual Studio пути. Это опять-таки то, что я бы не хотел делать, потому что каждый разработчик должен это сделать и сделать сборку так, чтобы dll скопировался, какой-то фиксированный путь к визуальной студии не очень хорош.
Я использовал эти два примера, но мне кажется, что оба они непосредственно относятся к DLL:
Я бы предположить такой функции будет каким-то образом поддерживаться Visual Studio/Workflow Foundation.
У вас есть идеи, как решить эту проблему? Благодаря!
Существует перегрузка для DesignerAttribute, которая берет две строки, если я помню. Во-первых, это пространство имен, а другое - имя типа. Если вы используете это, вы можете избежать ссылок. Но вам нужно: 1) загрузить сборку вручную в конструктор AppDomain или 2) следовать правилам расположения узлов сборки. Для визуальной студии я задокументировал это в [этом ответе] (http://stackoverflow.com/a/8886905/1228). Не уверен, что этого достаточно, чтобы ответить на ваш вопрос. Как вы думаете? – Will
Спасибо за быстрый ответ! Если вы проверите, я действительно использую перегрузку двух строк. Я проверил ваш ответ по другому вопросу и, похоже, подтвердил мои предыдущие выводы о том, что DLL можно скопировать в папку с визуальной студией, и все может сработать таким образом, но, как я уже говорил, я бы не предпочел это решение. Я также быстро попробовал решение GAC (зарегистрировать dll для GAC, когда оно будет построено), но я не смог заставить его работать. Вероятно, я должен попробовать еще раз. –
Извините, на самом деле я использую одну перегрузку строки, мой плохой :) Я также проверю это. –