Ссылки на проект F # не работают при таргетинге на платформу x64 в Visual Studio 2010

У меня есть проект библиотеки F #, который зависит от проекта библиотеки классов C #, оба в том же решении. По сути, в коде F #, я делаюopen MyLib (где MyLib - это имя проекта C #) и доступ к некоторому коду, определенному в проекте C #.

Я компилирую и оба проекта строю без ошибок и предупреждений. Если я затем изменю цель с Любого ЦП на x64 в обоих проектах, проект C # по-прежнему будет работать нормально, но проект F # не будет создан с сообщениями об ошибках, которые сообщают мне, что он не может найти модуль MyLib. Перестройка решения не помогает. Удаление всех папок bin og obj также не помогает. Если я изменю цель платформы обратно на Любой процессор или на x86, все снова скомпилируется.

Я воспроизвел это в игрушечном решении с двумя небольшими проектами, содержащими только тривиальный код, так что я знаю, что это не связано с моим конкретным кодом.

Кто-нибудь еще испытал это? Любые известные обходные пути?

будь здоров

Обновление: по запросу, вот мои точные шаги воспроизведения.

Создать новое пустое решение в Visual Studio 2010Добавьте в проект новый проект библиотеки классов C #, назовите его MyLibДобавить статический методint GetAnswer() { return 42; } в класс Class1Добавьте в проект новый проект библиотеки F #, назовите его MyOtherLibДобавить ссылку из проекта библиотеки F # в проект библиотеки классов C #

Добавьте этот код в Module1.fs, подmodule Module1 линия:

открыть MyLib

let answer = Class1.GetAnswer ()

Компиляция. Все должно строиться чисто.

Перейдите на вкладку сборки в свойствах проекта для MyLib. Измените цель платформы на x64.Сделайте то же самое для MyOtherLib.Построй снова. Теперь вы получите две ошибки в проекте F #: обе жалуются на то, что пространство имен или модули не определены.

ОБНОВЛЕНИЕ 2: только что проверил это с Visual Studio 2010 Beta 1, и поведение то же самое.

Ответы на вопрос(1)

Ваш ответ на вопрос