Не удается получить Microsoft.VisualBasic.dll для Mono 2.10 - PullRequest
0 голосов
/ 11 июля 2011

Я пытался перенести библиотеку .NET, созданную в / для Windows, на Ubuntu 11.04, используя Mono.Библиотека использует .NET 4.0, поэтому версия mono (2.6.7), стандартная для Ubuntu 11.04, не сокращает ее.В частности, я пытаюсь использовать Microsoft.VisualBasic.Devices.Computer.Info.TotalPhysicalMemory.Я искал все выше и ниже для пакетов или сценариев параллельной сборки, которые устанавливают Microsoft.VisualBasic.dll, но ни один из них не делает.Mono с поддержкой .NET 4.0 и Microsoft.VisualBasic, поэтому код не нужно будет изменять.Я бы согласился на альтернативу, которая использует другой метод (хотя метод P / Invoke, который я видел в этом предыдущем посте, мне не нравится).1007 *

Ответы [ 3 ]

1 голос
/ 13 июля 2012

Вы можете попытаться обмануть Cudafy, создав собственную версию DLL.

Используйте отражатель или отметьте здесь, чтобы увидеть интерфейс

https://github.com/mono/mono-basic/blob/master/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.Devices/ComputerInfo.vb

Вы можете использовать счетчик производительности в Mono, чтобы фактически получить объем памяти;

var pc = new PerformanceCounter("Mono Memory", "Total Physical Memory");
var mem = pc.RawValue();
1 голос
/ 11 июля 2011

Похоже, что получение VB.dll вам тоже не поможет.Этот метод не реализован в Mono:

https://github.com/mono/mono-basic/blob/master/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.Devices/ComputerInfo.vb

0 голосов
/ 12 июля 2011

Вы можете использовать MoMA tool , чтобы проверить, насколько совместим моно для вашего проекта.

В вашем конкретном случае нужный вам метод не реализован, если это единственное, что мешаетВаш проект не работает, вы можете реализовать его, а также создавать и предоставлять свой собственный MS.VB.dll, пока mono не выпустит версию с изменением в нем.После того, как вы установили mono-basic, его легко установить на любой компьютер (с уже установленным mono), просто запустите:

gacutil -i path / to / MS.VB.dll

иDLL будет установлен в GAC.

...