[РЕШЕНО]Подключение dll

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

[РЕШЕНО]Подключение dll

Сообщение alebaster 23 ноя 2011, 20:41

Здравствуйте. Пытаюсь подключить AForge.Fuzzy.dll - библиотеку к проекту - засунул её в папку Plugins. Дальше:
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
using AForge.Fuzzy;

public class fuzzy : MonoBehaviour {

        // Use this for initialization
        void Start ()
                {
       
                }
       
        // Update is called once per frame
        void Update ()
                {
       
                }
        // initialization of the Fuzzy Inference System
        void InitFuzzyEngine()
        {
                // linguistic labels (fuzzy sets) that compose the energy level// треугольники
        FuzzySet fsLow = new FuzzySet("Low", new TrapezoidalFunction(0, 0, 20 ));
        FuzzySet fsMedium = new FuzzySet("Medium", new TrapezoidalFunction(0, 40, 60));
        FuzzySet fsHight = new FuzzySet("Hight", new TrapezoidalFunction(40, 100,100));
               
                // linguistic labels (fuzzy sets) that compose what to do// треугольники
        FuzzySet fsRun = new FuzzySet("Run", new TrapezoidalFunction(0, 0, 20 ));
        FuzzySet fsDefend = new FuzzySet("Defend", new TrapezoidalFunction(0, 40, 60));
        FuzzySet fsAttack = new FuzzySet("Attack", new TrapezoidalFunction(40, 100,100));
               
                // input lingvistic variables for energy
                LinguisticVariable lvEnergy = new LinguisticVariable("Energy", 0, 100);
        lvEnergy.AddLabel(fsLow);
        lvEnergy.AddLabel(fsMedium);
        lvEnergy.AddLabel(fsHight);
               
                // input lingvistic variables for health
                LinguisticVariable lvHealth = new LinguisticVariable("Health", 0, 100);
        lvHealth.AddLabel(fsLow);
        lvHealth.AddLabel(fsMedium);
        lvHealth.AddLabel(fsHight);
               
                // input lingvistic variables for what to do
                LinguisticVariable lvAction = new LinguisticVariable("Action", 0, 100);
        lvAction.AddLabel(fsRun);
        lvAction.AddLabel(fsDefend);
        lvAction.AddLabel(fsAttack);
               
                 // the database
        Database fuzzyDB = new Database();
                fuzzyDB.AddVariable(lvEnergy);
                fuzzyDB.AddVariable(lvHealth);
                fuzzyDB.AddVariable(lvAction);
               
                // creating the inference system
                InferenceSystem IS = new InferenceSystem(fuzzyDB, new CentroidDefuzzifier(1000));
               
                // rules
                IS.NewRule( "Rule 1", "IF Energy IS Low THEN Action IS Run" );
                IS.NewRule( "Rule 2", "IF Energy IS Medium AND Health IS Low THEN Action IS Defend" );
        }
}
 

Мне в ответ:
Скрытый текст:
Internal compiler error. See the console log for more information. output was:
Unhandled Exception: System.TypeLoadException: Could not load type 'AForge.Fuzzy.PiecewiseLinearFunction' from assembly 'AForge.Fuzzy, Version=2.2.0.0, Culture=neutral, PublicKeyToken=cb12670d0eae17c9'.

at (wrapper managed-to-native) System.MonoType:GetMethodsByName (string,System.Reflection.BindingFlags,bool,System.Type)

at System.MonoType.GetMethods (BindingFlags bindingAttr) [0x00000] in <filename unknown>:0


ЧЯДНТ?

P.S. Метод с документации ( [DllImport ("PluginName")]) я вообще не понял и он не работает.
Последний раз редактировалось alebaster 28 ноя 2011, 11:00, всего редактировалось 1 раз.
alebaster
UNец
 
Сообщения: 36
Зарегистрирован: 10 ноя 2011, 22:24

Re: Подключение dll

Сообщение DbIMok 23 ноя 2011, 20:55

скопируйте туда же (в Plugins) AForge.dll. насчет DllImport читайте про различия между managed и native кодом
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.8k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Подключение dll

Сообщение alebaster 23 ноя 2011, 21:02

DbIMok писал(а):скопируйте туда же (в Plugins) AForge.dll. насчет DllImport читайте про различия между managed и native кодом


Спасибо большое, была такая мысль, но она была куда-то быстро пропала.
alebaster
UNец
 
Сообщения: 36
Зарегистрирован: 10 ноя 2011, 22:24

Re: Подключение dll

Сообщение DbIMok 23 ноя 2011, 21:24

в каждой managed библиотеке прописаны зависимости. посмотреть можно в каком-нибудь рефлекторе (или его аналоге). в native можно посмотреть imported функции (в каком-нибудь дизассемблере)
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.8k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Подключение dll

Сообщение alebaster 23 ноя 2011, 21:54

DbIMok писал(а):в каждой managed библиотеке прописаны зависимости. посмотреть можно в каком-нибудь рефлекторе (или его аналоге). в native можно посмотреть imported функции (в каком-нибудь дизассемблере)

Да-да, припоминаю такие штуки. Жаль, что нет встроенной в unity, хотя такого даже в visual studio нету.
alebaster
UNец
 
Сообщения: 36
Зарегистрирован: 10 ноя 2011, 22:24


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 6