Я думаю, что вы имеете в виду Любой процессор в вашем вопросе, правильно? Предполагая, что это так, связывание без учета битности - это путь почти во всех обстоятельствах.
Напомним, что .NET код JITed (скомпилировано как раз вовремя), то есть 32-битный и 64-битный код из C # или VB.NET Компилятор один и тот же, независимо от того, на какой архитектуре вы планируете работать. Когда код JITed во время выполнения, он становится 32- или 64-битным.
В некоторых ситуациях вам необходимо учитывать целевую архитектуру. Одним конкретным случаем могут быть любые ссылки / зависимости на DLL-библиотеки COM , предоставляемые .NET Framework или иные. При этом эти файлы DLL будут помечены (в случае COM) только 32-разрядными (так как COM является 32-разрядной архитектурой), если они не были помечены как 32-разрядные, взаимодействие с COM не будет работать. Поэтому, поскольку они явно помечены, выходные данные вашего проекта также должны быть.