Страница 1 из 2

Unity 3 не дружит с экспортом DLL

СообщениеДобавлено: 28 сен 2010, 13:24
foonk
Создадим пустой проджект, в папку Plugins положим MySql.Data.dll, создадим скрипт (c#) :
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
using MySql.Data.MySqlClient;


public class Test : MonoBehaviour {    

}


Ошибок нет, но при попытке билда, вылазят 2 ошибки:
1)ArgumentException: The Assembly System.Configuration.Install is referenced by MySql.Data. But the dll is not allowed to be included or could not be found.
UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List`1 alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary`2 cache) (at E:/BuildAgent/work/68355d6e5d19d587/Editor/Mono/AssemblyHelper.cs:52)
UnityEditor.AssemblyHelper.FindAssembliesReferencedBy (System.String[] paths, System.String[] foldersToSearch) (at E:/BuildAgent/work/68355d6e5d19d587/Editor/Mono/AssemblyHelper.cs:86)
UnityEditor.HostView:OnGUI()

2)Error building Player: Extracting referenced dlls failed.
UnityEditor.HostView:OnGUI()

То же самое происходит с System.Data.dll, возможно и с другими, не пробовал...


Ах да, забыл добавить, что в едиторе все прекрасно работает, но не билдится.

Re: Unity 3 не дружит с экспортом DLL

СообщениеДобавлено: 28 сен 2010, 13:43
gnoblin
багрепорти, приложив маленький проект-пример

Re: Unity 3 не дружит с экспортом DLL

СообщениеДобавлено: 28 сен 2010, 14:14
DbIMok
в 2.6 таких ошибок не вижу. в 3.0 билд ругается на
Код: Выделить всё
Non platform assembly: data-02C72E30 (this message is harmless)

Re: Unity 3 не дружит с экспортом DLL

СообщениеДобавлено: 28 сен 2010, 14:19
foonk
DbIMok писал(а):в 2.6 таких ошибок не вижу. в 3.0 билд ругается на
Код: Выделить всё
Non platform assembly: data-02C72E30 (this message is harmless)


Да забудьте 2.6 )))) Проблемы только в 3

"билд ругается на
Код: Выделить всё
Non platform assembly: data-02C72E30 (this message is harmless)
" и при этом все равно билдит? @-)

Re: Unity 3 не дружит с экспортом DLL

СообщениеДобавлено: 28 сен 2010, 18:58
gnoblin
Какая включена платформа? :)

Re: Unity 3 не дружит с экспортом DLL

СообщениеДобавлено: 28 сен 2010, 19:06
foonk
gnoblin писал(а):Какая включена платформа? :)

PC and Mac Standalone

Re: Unity 3 не дружит с экспортом DLL

СообщениеДобавлено: 14 янв 2011, 09:58
Jakobs
Проблема появилась не магу решить=(

Код: Выделить всё

Internal compiler error. See the console log for more information. output was:
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.

File name: 'System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

  at (wrapper managed-to-native) System.MonoCustomAttrs:GetCustomAttributesInternal (System.Reflection.ICustomAttributeProvider,System.Type,bool)

  at System.MonoCustomAttrs.GetCustomAttributesBase (ICustomAttributeProvider obj, System.Type attributeType) [0x00000] in <filename unknown>:0

  at System.MonoCustomAttrs.GetCustomAttributes (ICustomAttributeProvider obj, System.Type attributeType, Boolean inherit) [0x00000] in <filename unknown>:0

  at System.MonoType.GetCustomAttributes (System.Type attributeType, Boolean inherit) [0x00000] in <filename unknown>:0

  at Mono.CSharp.AttributeTester.GetObsoleteAttribute (System.Type type) [0x00000] in <filename unknown>:0

  at Mono.CSharp.Expression.ResolveAsTypeTerminal (IMemberContext ec, Boolean silent) [0x00000] in <filename unknown>:0

  at Mono.CSharp.Expression.ResolveAsContextualType (IMemberContext rc, Boolean silent) [0x00000] in <filename unknown>:0

  at Mono.CSharp.LocalInfo.Resolve (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0

  at Mono.CSharp.Block.ResolveMeta (Mono.CSharp.BlockContext ec, Int32 offset) [0x00000] in <filename unknown>:0

  at Mono.CSharp.Block.ResolveMeta (Mono.CSharp.BlockContext ec, Int32 offset) [0x00000] in <filename unknown>:0

  at Mono.CSharp.ToplevelBlock.ResolveMeta (Mono.CSharp.BlockContext ec, Mono.CSharp.ParametersCompiled ip) [0x00000] in <filename unknown>:0

  at Mono.CSharp.ToplevelBlock.Resolve (Mono.CSharp.FlowBranching parent, Mono.CSharp.BlockContext rc, Mono.CSharp.ParametersCompiled ip, IMethodData md) [0x00000] in <filename unknown>:0


Вот собсна и код
Синтаксис:
Используется csharp
using UnityEngine;

using System;

using System.Data;

using System.Collections;

using MySql.Data.MySqlClient;



public class TEST : MonoBehaviour {

        public static void Main()

    {

        string connStr = "server=localhost;user=root;database=world;port=3306;password=******;";

        MySqlConnection conn = new MySqlConnection(connStr);

        try

        {

            Console.WriteLine("Connecting to MySQL...");

            conn.Open();

            // Perform databse operations

        }

        catch (Exception ex)

        {

            Console.WriteLine(ex.ToString());

        }

        conn.Close();

        Console.WriteLine("Done.");

    }

        // Use this for initialization

        //void Start () {

       

        //}

       

        // Update is called once per frame

        //void Update () {

       

        //}

}
 

Re: Unity 3 не дружит с экспортом DLL

СообщениеДобавлено: 14 янв 2011, 14:34
foonk
Вот выход: viewtopic.php?f=18&t=3246&start=15#p27923
И рабочие библиотеки

Re: Unity 3 не дружит с экспортом DLL

СообщениеДобавлено: 14 янв 2011, 14:53
Jakobs
foonk писал(а):Вот выход: http://unity3d.ru/distribution/viewtopi ... =15#p27923
И рабочие библиотеки


Спасибо
терь проблема с (Exception ex)
но так как я в шарпе новичёк мне стало интересно за что Екзепшн вобше отвечает?

Re: Unity 3 не дружит с экспортом DLL

СообщениеДобавлено: 14 янв 2011, 15:51
Golandez

Re: Unity 3 не дружит с экспортом DLL

СообщениеДобавлено: 15 янв 2011, 13:02
Jakobs
Появилась новая проблема, теперь походу с библиотекой не дружет билд
Синтаксис:
Используется csharp
using UnityEngine;

using System.Collections;

using MySql.Data.MySqlClient;



public class TEXT : MonoBehaviour {

        string text = "";

        int dell = 0;

        string id = "";

        void OnGUI()

        {

                GUILayout.Box("HELLO WORLD!!!");

                        string connStr = "Server=localhost;User=TEST;Password=test;Database=test;Port=3306;";

                MySqlConnection conn = new MySqlConnection(connStr);

               

                 GUILayout.BeginArea(new Rect(Screen.width / 2 - 100 , 5 , 200, 200));

            conn.Open();                       

                        string query = "SELECT id,Name,text FROM TEST";

            MySqlCommand qcmd = new MySqlCommand(query, conn);

            MySqlDataReader rdr = qcmd.ExecuteReader();

                try

                {

            while (rdr.Read())

            {

                        GUILayout.BeginHorizontal("Box");

               

                        GUILayout.Label(rdr[1]+" : "+rdr[2], GUILayout.Width(140));

                        if(GUILayout.Button("Del"))

                        {

                                dell = 1;

                                id = ""+rdr[0];

                        }

                        else

                        {

                                dell = 0;

                        }

                        GUILayout.EndHorizontal();

            }

            rdr.Close();

                        text = GUILayout.TextArea(text,200);

                        if(GUILayout.Button("Insert"))

                {

                         string insert = "INSERT INTO TEST (Name, text) VALUES ('Admin', '"+ text +"')";

            MySqlCommand icmd = new MySqlCommand(insert, conn);

            icmd.ExecuteNonQuery();

                        text = "";

                }

                if(dell == 1)

                {

                        string del = "DELETE FROM TEST WHERE id='"+id+"'";

            MySqlCommand dcmd = new MySqlCommand(del, conn);

            dcmd.ExecuteNonQuery();

                }

                }

                catch (System.Exception ex)

                {

                        GUILayout.Label("Error" + ex.ToString());

                }

               

                        conn.Close();  

                GUILayout.EndArea();

        }

}
 


вот код
он работает в Едиторе но в билде отказиваетса пахать

Re: Unity 3 не дружит с экспортом DLL

СообщениеДобавлено: 15 янв 2011, 13:04
Neodrop
Рекомендую использовать SQLConnector вместо этой библы. В сети его легко найти.

Re: Unity 3 не дружит с экспортом DLL

СообщениеДобавлено: 15 янв 2011, 13:33
Jakobs
Neodrop писал(а):Рекомендую использовать SQLConnector вместо этой библы. В сети его легко найти.

не тот код закинуол =)
Синтаксис:
Используется csharp
using UnityEngine;

using System.Data;

using System.Collections;

using MySql.Data.MySqlClient;



public class TEXT : MonoBehaviour {

        string text = "";

        int dell = 0;

        string id = "";

        void OnGUI()

        {

                GUILayout.Box("ÛÛÛÛ");

                        string connStr = "Server=localhost;User=TEST;Password=test;Database=test;Port=3306;";

                MySqlConnection conn = new MySqlConnection(connStr);

               

                 GUILayout.BeginArea(new Rect(Screen.width / 2 - 100 , 5 , 200, 200));

            conn.Open();                       

                        string query = "SELECT id,Name,text FROM TEST";

            MySqlCommand qcmd = new MySqlCommand(query, conn);

            MySqlDataReader rdr = qcmd.ExecuteReader();

                try

                {

            while (rdr.Read())

            {

                        GUILayout.BeginHorizontal("Box");

               

                        GUILayout.Label(rdr[1]+" : "+rdr[2], GUILayout.Width(140));

                        if(GUILayout.Button("Del"))

                        {

                                dell = 1;

                                id = ""+rdr[0];

                        }

                        else

                        {

                                dell = 0;

                        }

                        GUILayout.EndHorizontal();

            }

            rdr.Close();

                        text = GUILayout.TextArea(text,200);

                        if(GUILayout.Button("Insert"))

                {

                         string insert = "INSERT INTO TEST (Name, text) VALUES ('Admin', '"+ text +"')";

            MySqlCommand icmd = new MySqlCommand(insert, conn);

            icmd.ExecuteNonQuery();

                        text = "";

                }

                if(dell == 1)

                {

                        string del = "DELETE FROM TEST WHERE id='"+id+"'";

            MySqlCommand dcmd = new MySqlCommand(del, conn);

            dcmd.ExecuteNonQuery();

                }

                }

                catch (System.Exception ex)

                {

                        GUILayout.Label("Error" + ex.ToString());

                }

               

                        conn.Close();  

                GUILayout.EndArea();

        }

}
 

Re: Unity 3 не дружит с экспортом DLL

СообщениеДобавлено: 15 янв 2011, 15:00
Neodrop
И вместо этой тоже. =))

Re: Unity 3 не дружит с экспортом DLL

СообщениеДобавлено: 15 янв 2011, 16:33
Jakobs
Neodrop писал(а):И вместо этой тоже. =))

это я к тому что я юзаю SQLConnector...