2014-01-30 1 views
1

Поэтому я загрузил и установил Microsoft Accelerator v2 для использования ParallelArrays. Я ссылаюсь это в моем проекте, но когда я пытаюсь выполнить код из модуля в файле сценария я получаю:F # Microsoft.ParallelArrays не определено

«Пространство имен„ParallelArrays“не определен

Я следовал инструкции на этом посту :

Microsoft Accelerator library with Visual Studio F#

Я добавил ссылку на управляемую версию «Microsoft.Accelerator.dll» на мой F # проект, а затем добавил родной «Accelerator.dll» в качестве пункта в моем решении и установить его «Копировать в выходной каталог» для копирования всегда.

Все еще получаю ошибку FSI и встроенную ошибку в моем файле сценария на строке «#load ...», однако решение строит отлично и не содержит ошибок в файле модуля.

Любые идеи о том, что мне не хватает? Я уверен, что это что-то глупое.

Спасибо, Джастин

UPDATE

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

--> Referenced 'F:\Work\GitHub\qf-sharp\qf-sharp\bin\Debug\Microsoft.Accelerator.dll' (file may be locked by F# Interactive process) 

[Loading F:\Work\GitHub\qf-sharp\qf-sharp\MonteCarloGPU.fs] 


error FS0192: internal error: F:\Work\GitHub\qf-sharp\qf-sharp\Accelerator.dll: bad cli header, rva 0 

ОБНОВЛЕНИЕ 2

Таким образом, плохая ошибка заголовка имеет исчезла, но теперь я получаю вместо этого:

Microsoft.ParallelArrays.AcceleratorException: Failure to create a DirectX 9 device. 
    at Microsoft.ParallelArrays.ParallelArrays.ThrowNativeAcceleratorException() 
    at Microsoft.ParallelArrays.DX9Target..ctor() 
    at <StartupCode$FSI_0002>[email protected]() in F:\Work\GitHub\qf- sharp\qf-sharp\MonteCarloGPU.fs:line 14 
Stopped due to error 

Я нашел эту тему на MSDN однако ответы, предложенные в качестве исправления на эту тему едва касается вопроса.

http://social.msdn.microsoft.com/Forums/vstudio/en-US/98600646-0345-4f62-a6c5-f03ac9c77179/ms-accelerator?forum=csharpgeneral

Моя Прямая версия Х 11, и я думаю, что будет достаточно, однако я попытался установить DX9 однако, он говорит мне, что новая версия обнаружена поэтому не могу установить.

ответ

2

Существуют специальные директивы для ссылки на dll из fsi. Директива #load загружает только файл .fs. Для ссылки на файл вам необходимо использовать директиву #r. Вы можете использовать полный путь к файлу, или вы можете использовать #I, чтобы указать путь к файлу. Подробнее here. Имейте в виду, что fsi полностью не зависит от вашего проекта, поэтому все ссылки в вашем проекте должны быть дублированы в fsi для доступа к тем же типам.

+0

Спасибо! Я попробую это :) – JustinMoser

+0

Я следовал вашим советам, я использовал: '#r" bin \ Debug \ Microsoft.Accelerator.dll "' однако предыдущая ошибка исчезла, но теперь я получаю ошибку в обновите мой вопрос выше. – JustinMoser

+0

Вы пытались перезапустить VS? Похоже, что dll используется где-то. Перезапуск может освободить его. – mydogisbox

Смежные вопросы