2010-12-01 5 views
3

Ich habe versucht, C# DLL in Windows Phone 7, aber es tritt Fehler nach dem Debuggen wie unten dargestellt.Verwenden von C# DLL in Windows Phone 7


Troubleshooding Spitzen: Wenn die Zugriffsebene eines Verfahrens in einer Klassenbibliothek geändert hat, werden alle Baugruppen neu kompilieren, die die Bibliothek verweisen. Holen Sie allgemeine Hilfe für diese Ausnahme.


Dies ist der Code ..

----------------- Windows Phone 7 ------------- ----------------------------------

using System; 
... 
using System.Runtime.InteropServices; 

namespace DllLoadTest 
{ 
    public partial class MainPage : PhoneApplicationPage 
    { 
     // Constructor 
     public MainPage() 
     { 
      InitializeComponent(); 
     } 

     [DllImport("MathLibrary.dll")] 
     public static extern int AddInteger(int a, int b); 

     private void button1_Click(object sender, RoutedEventArgs e) 
     { 
      MessageBox.Show("test " + AddInteger(3, 4)); 
     } 
    } 
} 

------ ------------------ C# MathLibrary.dll ---------------------------- ------


Gibt es ein Problem? Wenn nicht, ist die Verwendung von C# dll für Windows Phone 7 unmöglich? Die C# -Dll geladen gut in Visual Studio 2008 C#.

Antwort

2

Warum versuchen Sie, P/Invoke für eine in C# geschriebene Klassenbibliothek zu verwenden? Fügen Sie einfach einen Verweis auf die DLL und verwenden Sie es direkt:

using MathLibrary; 
... 

private void button1_Click(object sender, RoutedEventArgs e) 
{ 
    MessageBox.Show("test " + Add.AddInteger(3, 4)); 
} 

Sie können nicht P/Invoke in Windows Phone 7, aber Sie können Verwendung Klassenbibliotheken (gebaut für Windows Phone 7) verwenden.

+0

Vielen Dank für die Antwort. Ich habe noch eine Frage. Sie haben gesagt, dass ich Klassenbibliotheken (für Windows Phone 7) verwenden kann. Bedeutet das, dass die Bibliotheken von "Windows Phone Class Library" in Visual Studio 2010 erstellt werden müssen? – Angdro

+0

@Angdro: Es ist mir nicht ganz klar, aber ich * glaube * so. Sicher habe ich das immer mit den Klassenbibliotheken gemacht, die ich benutze. –

+0

Dank Jon hilft es mir sehr. Ich wünsche ihnen einen wunderbaren Tag. – Angdro