Преобразование сборок .NET в сборки Silverlight - Использование кода
ОГЛАВЛЕНИЕ
Использование кода
Создав файл XML, используем код. Приложение является простым консольным приложением, принимающим следующие аргументы:
<AssemblyPath.dll> [/Key=<StrongNameKeyPath.snk>] [/Output=<TargetPath.dll>]
где AssemblyPath.dll – путь к открытой сборке .NET. Необязательный параметр /Output задает место сохранения новой сборки Silverlight. (Если не указать его, то выходной файл будет AssemblyPath.SL.dll.)
Наконец, так как мы испортили весь исходный код IL, если исходная сборка была подписана ключом со строгим именем, вновь созданная сборка не будет должным образом подписана, поэтому добавьте путь в исходный файл .snk, используемый для подписания сборки, и приложение снова соберет все вместе.
Создание события после сборки
Лучший способ обеспечить преобразование вашей открытой сборки в совместимую с Silverlight и обновление ее при любом изменении – добавить команду 'После Сборки' в ваш проект. Чтобы сделать это, щелкните правой кнопкой мыши по вашему проекту и щелкните по пункту меню «Свойства проекта».
Перейдите во вкладку 'События сборки':
Теперь щелкните по команде 'Редактировать после сборки', и откроется диалоговое окно:
Введите путь к приложению-преобразователю с последующим макросом "$(TargetPath)", чтобы указать собранную сборку в качестве файла, который будет преобразован. Добавьте любые необходимые дополнительные аргументы (такие как /Output= и /Key=) и нажмите на 'OK'.
Убедитесь, что во вкладке 'События сборки' параметру 'Запустить событие после сборки:' задан 'После успешной сборки'. Сохраните проект. После этого во всех случаях успешной сборки проекта Visual-Studio будет запускать приложение и создавать совместимую с Silverlight сборку проекта.
Замечание: если создать совместимую сборку не удастся, весь проект будеn помечен как 'Cборка провалилась', и в окне вывода вы увидите сообщение об ошибке, возвращенное ilasm.exe.
Заключение
Надеемся, статья поможет тем, кто столкнулся с аналогичной проблемой.