2008-09-16 3 views
6

Возможно, у меня это совершенно неправильно, но я понимаю, что опция -standalone компилятора сообщает компилятору включить ядро ​​F # и другие зависимости в exe, чтобы вы могли запускать его на другой машине без установки каких-либо «runtime», ,Кто-нибудь получил - стандартную опцию для работы в F # CTP?

Однако я не могу заставить это работать в CTP - он даже не меняет размер выходного файла (документы, которые я прочитал, говорят о 1M дополнительных).

«Google может знать, но если это произойдет, он не говорит, или я не смотрел в нужном месте»

UPDATE:

Это похоже на работу с последним CTP update 1.9.6.2

UPDATE2:

Я так испытал другую ошибку:

FSC(0,0): error FS0191: could not resolve assembly Microsoft.Build.Utilities. 

Если у вас возникли такие ошибки при попытке компиляции --standalone, вам необходимо явно включить их в качестве ссылок в свой проект.

ответ

4

Ответ от MS:

Существует обновление CTP 1.9.6.2, что исправлены некоторые ошибки --standalone.

Я переустановке сейчас ...

UPDATE: работает для меня - так мой принял ответ скачать CTP обновление 1.9.6.2.

1

F # руководство: Statically linking the F# library using "--standalone"

ли вы пытаетесь запустить утилиту peverify.exe?

+0

«Все классы и методы в проверке MyApp.exe». Из того, что я понимаю (т. Е. Не много), peverify.exe проверяет только внутреннюю согласованность и «тип безопасности» exe. Например. он проверяет только то, что автономное выполнено правильно, а не выполнено ли оно вообще. – Benjol 2008-09-17 07:51:11

1

Это была домашняя ненависть моя в течение долгого времени (она была сломана в каждом выпуске CTP, когда-либо включавшем в себя последний релиз 1.9.6.16 май 2009 года). «Решение» заключается в том, чтобы написать собственную систему сборки, которая не нарушена.

Это реальная проблема для меня, потому что я накопил сотни отличных программ F #, которые я хотел бы разместить на нашем сайте, но для создания каждого отдельного исполняемого файла требуется несколько часов.