Добавление ссылки на библиотеку .net (dll) из проекта Silverlight - PullRequest
2 голосов
/ 15 октября 2010

Есть ли способ сделать это?

У меня есть библиотека с кодом 'помощника', которую я хочу использовать из проекта Silverlight.Я не знаю почему, но Visual Studio не позволит мне добавить ссылку, хотя в моей библиотеке нет ничего запрещенного (например, DataSets)

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

Я знаю, что это работает для других вещей, еще не пробовал в Silverlight, есть ли проблемы с этим подходом?Есть ли лучший способ добиться того, чего я хочу?

Ответы [ 3 ]

2 голосов
/ 15 октября 2010

Не должно быть проблем с этим подходом.На самом деле Prism интенсивно использует связанные файлы (в сочетании с директивами препроцессора) для поддержки библиотек WPF и Silverlight.

Кроме того, вы можете использовать Project Linker инструмент, который поможет вам в этом.

Надеюсь, это поможет.

1 голос
/ 15 октября 2010

Нет проблем с этим подходом. MEF , например, сделал это. Там вы найдете два набора проектов - рабочий стол и проект silverlight, каждый из которых ссылается на одни и те же файлы .cs.

Еще одна полезная вещь: если в ваших классах есть какие-либо функции, не относящиеся к Silverlight, или специальные функции SL, которые вам необходимы, вы можете использовать частичные классы для обработки этих случаев. Просто включите второй файл .cs в соответствующие проекты и используйте частичные классы, и вы сможете отделить функциональность normal / sivlerlight.

1 голос
/ 15 октября 2010

Нет, вы не можете добавить сборку .net, вам нужно перекомпилировать библиотеку для silverlight.

Вы можете создать новую пустую библиотеку классов Silverlight в том же каталоге, что и библиотека классов .net. Затем выберите «Показать все файлы» в меню проекта. Затем вы увидите все файлы .cs в этой папке, полупрозрачные в обозревателе решений. Выберите их и выберите «Включить в проект» в контекстном меню.

Возможно даже использовать один проект с несколькими сборками (например, Debug и Release, некоторые из которых предназначены для SL), но я не уверен, возможно ли это. Это дает преимущество в том, что вам не нужно синхронизировать файлы проекта вручную.

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