C # - обмен файлами между проектами - PullRequest
7 голосов
/ 25 февраля 2011

Мне бы хотелось два, как сделать так, чтобы файлы ресурсов делились между 2 (или более) проектами?

Итак, для резюме, у меня есть три проекта:

проект разработки (CF).NET), который включает файл ресурсов (со всеми определениями).

У меня есть два других проекта, которые являются пустыми, НО связаны с проектами разработки, это просто разная сборка каждый раз, поэтому, когда я изменяю разработкупроект, все три проекта тоже обновляются.(Модификация файла csproj.)

Вопрос в том, что насчет файлов ресурсов?Когда я пытаюсь получить доступ из проекта разработки, я получаю все ресурсы, но когда я пытаюсь получить доступ к двум другим, он выдает «MissingManifestResourceException».

Есть идеи, как решить эту проблему?

Спасибо.


[EDIT]

Вот что я сделал:

Создайте проект с именем «RealProject», который содержит весь код(включая файлы ресурсов) Создайте проект с именем «LinkedProject», который ничего не содержит (я удалил в него все файлы и изменил файл csproj следующим образом:

  <ItemGroup>
    <Compile Include="..\RealProject\**\*.cs" />
  </ItemGroup>

Итак, в каталоге LinkedProject я только:

  • [Каталог] bin
  • [Каталог] obj
  • [Файл] LinkedProject.csproj

Весь LinkedProject использует файлы RealProjectэто просто другая конфигурация конфигурации (см. здесь, чтобы узнать почему: C # - Компилятор кода для .NET & CF.NET )

Однажды в этой конфигурации у меня нет доступа кфайлы ресурсов из RealProject ...

Если вам нужны экраны или более подробное объяснение, просто спросите.


[EDIT]

С этим кодом все работает, менеджер ресурсов не загружается нахорошее имя сборки, но оно должно существовать лучшее решение !!!

Assembly ass = Assembly.ReflectionOnlyLoadFrom(@"..\..\..\RealProject\bin\Debug\RealProject.dll");
ResourceManager manager = new ResourceManager("RealProject.Properties.Resources", ass);

[Решение]

Что нужно проверить:

  • LinkedProject в том же пространстве имен, что и RealProject
  • Добавление ресурсов в виде ссылок
  • Очистка всего вашего решения
  • Перестройка

Тест!

Ответы [ 2 ]

7 голосов
/ 25 февраля 2011

Попробуйте добавить файл ресурса в виде ссылки на два других проекта и убедитесь, что пространства имен, определенные в файле проекта, совпадают.

1 голос
/ 25 февраля 2011

Попробуйте добавить существующий файл в другие проекты в виде ссылки.

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