Совместное использование сборки между ASP.NET и Silverlight - PullRequest
0 голосов
/ 03 мая 2010

Я создал сборку, чтобы поделиться ею между моим основным приложением и приложением silverlight. Вначале это выглядело так, как будто это сработало, но теперь я получаю следующее исключение: «System.IO.FileNotFoundException перехвачено, Message =« Не удалось загрузить файл или сборку «System.Xml.Linq». 3.5 Sp1 и Silverlight 3.

Эта общая сборка использует System.Xml.Linq, и она не может ее найти ... Я думаю, потому что она пытается найти эту версию в .NET Framework, а не в Silverlight. Как я могу это исправить?

Приветствие.

PS: это полный вывод исключения:


System.IO.FileNotFoundException было обнаружено Сообщение = "Не удалось загрузить файл или сборку" System.Xml.Linq, Версия = 2.0.5.0, Культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 'или одна из ее зависимостей. Система не может найти указанный файл. " Источник = "MyApp.Metadata" FileName = "System.Xml.Linq, версия = 2.0.5.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35" FusionLog = "=== Предварительная привязка информации о состоянии === \ r \ nLOG: Пользователь = IIS APPPOOL \ DefaultAppPool \ r \ nLOG: DisplayName = System.Xml.Linq, Версия = 2.0.5.0, Культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 \ n (полностью указано) \ r \ nLOG: Appbase = file: /// C: /Users/vtortola.MyApp/Documents/MyApp/MyAppSAS/WebApplication1/WebApplication1/ \ r \ nLOG: начальный PrivatePath = C: \ Пользователи \ vtortola.MyApp \ Documents \ MyApp \ MyAppSAS \ ​​WebApplication1 \ WebApplication1 \ bin \ r \ nЗвонящая сборка: MyApp.Metadata, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = ноль. \ R \ n === \ r \ nLOG: это связывание начинается в контексте загрузки по умолчанию. \ r \ nLOG: Использование файла конфигурации приложения: C: \ Users \ vtortola.MyApp \ Documents \ MyApp \ MyAppSAS \ ​​WebApplication1 \ WebApplication1 \ web.config \ r \ nLOG: Использование хоста файл конфигурации: C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ Aspnet.config \ r \ nLOG: Использование файла конфигурации компьютера из C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ config \ machine. config. \ r \ nLOG: Ссылка после политики: System.Xml.Linq, Version = 2. 0.5.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 \ r \ nLOG: та же самая привязка была замечена ранее и была неудачной с hr = 0x80070002. \ R \ n " Трассировки стека: at MyApp.Metadata.MyAppEntity.Deserialize (String message)

1 Ответ

2 голосов
/ 03 мая 2010

Вы должны поддерживать два отдельных проекта - один для рабочего стола и для Silverlight. Посмотрите здесь для получения дополнительной информации:

Как использовать сборки не Silverlight в приложении Silverlight?

Вы можете делиться большей частью кода между проектами (как в файлах ссылок от одного к другому). Вот страница Microsoft, которая описывает, как это сделать:

http://msdn.microsoft.com/en-us/library/ff648215.aspx

...