Я сделал небольшое приложение из книги о F #, но когда я вызываю метод rand.NextDouble(), он выдает исключение BadImageFormatException, которое на первый взгляд выглядит как-то делать снимки, поэтому я НЕ знаю, что я должен здесь делать.F # случайный класс бросает BadImageFormatException при вызове .NextDouble()
Я использую VS сообщество 2013 с помощью визуального F # 2013. У меня есть 64-разрядных окон 7
Я знаю, что это nextdouble метода это проблема путем пытаться с отдельным пусть
let create_field num_asteroids =
let lerp (x: float<'u>) (y:float<'u>) (a:float) =
x*a+y*(1.0-a)
let rand = Random()
[for i =1 to num_asteroids do
let m =
(lerp earth_mass moon_mass (rand.NextDouble()))*
1.0e-4
let x = lerp 0.0<m> field_size (rand.NextDouble())
let y = lerp 0.0<m> field_size (rand.NextDouble())
let vx = max_velocity*(rand.NextDouble()*2.0-1.0)*0.1
let vy = max_velocity*(rand.NextDouble()*2.0-1.0)*0.1
yield
{
Position = { X = x; Y = y }
Velocity = { X = vx; Y = vy }
Mass = m
Name = "a"
}
]
Это ErrorCode:
System.BadImageFormatException был необработанное Сообщение: необработанное исключение типа 'System.BadImageFormatException' произошло в Asteroid_Field_ 1.exe Дополнительная информация: Была сделана попытка загрузить программу с неправильным форматом. (Исключение из HRESULT: 0x8007000B)
MSDN говорит мне, что это может иметь что-то с файлом DLL не загружен в правильном формате, но я даже не знаю, с чего начать.
это полный код
Я просто попытался его в FSI.exe и там работает просто отлично
Как это скомпилировать это и работает ли оно в fsi? –
это гораздо больший файл, поэтому я не хочу копировать pase все. какие-либо предложения? – stickypatrol
Я связал pastebin в конце – stickypatrol