У меня есть решение VS2013 с несколькими проектами (С# WPF-приложение плюс библиотеки классов). Для каждого проекта "Target Platform" установлен "Любой процессор". У меня создалось впечатление, что полученный EXE будет работать как 64-битное приложение на 64-битном ПК и 32-разрядное приложение на 32-разрядном ПК. Это верно? Мой dev-компьютер - 64-разрядный, но когда я запускаю приложение (автономное или VS-отладочное), он появляется в диспетчере задач как "foo.exe * 32". Что здесь происходит?
У нас есть младший разработчик с 32-разрядной машиной. Будет ли он все еще иметь возможность открыть решение и запустить его в VS?
Кроме того, некоторые из проектов ссылаются на стороннюю DLL. Поставщик предлагает как 32-битную, так и 64-битную версию, на которую должны ссылаться проекты? Если я ссылаюсь на 32-разрядную DLL, это предотвратит запуск приложения в виде 64-битного приложения? И если я ссылаюсь на 64-битную версию, это вызовет проблемы для 32-разрядного разработчика? А как насчет конечных пользователей - будет ли мой установщик проверять версию ОС и копировать через соответствующую DLL?
Наконец, что относительно DLL, на которые ссылается NuGet? NuGet устанавливает 32- или 64-разрядные версии DLL? Как мне работать с 32-разрядной или 64-разрядной установкой конечного пользователя?