Как вызвать из C# объект в C++/CLI managed/unmanaged?
От:
Ростислав Дмитриевич Кудряшов
Дата:
13.12.10 12:05
Оценка:
Моя попытка. Использую MS Visual Studio 2008 SP1.
После компиляции/компоновки запуск Main.exe даёт FileNotFoundException (из HRESULT: 0x8007007E) в TestUnmanaged.Main.
// cl /clr /LN Sub.cpp
using namespace System;
#pragma unmanaged
void Dummy () {;}
#pragma managed
namespace MySubSpace {
ref class Sub1 {
public:
void SaySub1 (String ^name) {
Console::WriteLine ("Sub1 says : {0}", name);
Dummy ();
}
};
}
// csc Main.cs /addmodule:Sub.netmodule /platform:x86
using System;
using MySubSpace;
public class TestUnmanaged {
public static void Main () {
Sub1 s1 = new Sub1();
s1.SaySub1 ("from Main");
}
}
Если закомментировать в Sub.cpp четыре строки с pragma и Dummy и применить cl /clr:safe /LN Sub.cpp, то Main.exe выполняется успешно.
c#
c++
unmanaged
Переместить
Удалить
Выделить ветку
Проголосовать
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить
Проголосовать
Заголовок: