Решение C #, все проекты могут быть нацелены на AnyCPU, кроме одного, который должен быть x86? - PullRequest
5 голосов
/ 04 ноября 2010

У нас есть большое решение, состоящее из множества различных библиотек. Мы только что перешли на разработку в 64-битной системе, и это заставляет нас задуматься о том, какую цель платформы мы должны указать для каждого отдельного проекта в решении.

В настоящее время у нас есть только один библиотечный проект, который ссылается на 32-битный DLL-файл. Мы ссылаемся на Interop этого DLL-файла, однако получаем ошибку при нацеливании на x86 в качестве платформы для этого проекта, оставляя оставшиеся проекты в решении как «Любой процессор».

У меня вопрос: можем ли мы использовать какой-либо ЦП для всех наших проектов, кроме того, который ссылается на 32-битное взаимодействие? Или следует просто собрать все для x86, так как это, похоже, работает без ошибок.

Ответы [ 2 ]

3 голосов
/ 04 ноября 2010

Да.

Все библиотеки DLL, кроме одной, могут быть AnyCPU.

Просто обязательно сделайте процесс x86, и все библиотеки DLL загрузятся как 32-битные.

Какую ошибку вы получаете? Добавление сообщения об ошибке может привести к более полезным ответам.

1 голос
/ 04 ноября 2010

Я думаю, что если все ваши dll являются anyCpu, ваш .exe может быть x64 или x86.Но если ваш exe-файл x64 или x86, ваши .dll не могут быть другими.Кроме того, если ваш .exe - AnyCPU, я полагаю, что он будет загружаться в любом режиме, встроенном в компьютер.Это означает, что ваши dll были либо anyCpu, либо собственным режимом для вашей системы.

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