2010-12-01 8 views
3

Windows Phone 7でC#dllを使用しようとしましたが、以下に示すようにデバッグを開始するとエラーが発生します。Windows phone 7でC#dllを使用する


Troubleshoodingヒント: クラスライブラリのメソッドのアクセスレベルは、そのライブラリを参照するアセンブリを再コンパイルし、変更された場合。 この例外の一般的なヘルプを取得します。


これは、コード..です

-----------------の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 ---------------------------- ------

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace MathLibrary 
{ 
    public class Add 
    { 
     public static long AddInteger(long i, long j) 
     { 
      return i + j; 
     } 
    } 
} 

問題がありますか?そうでない場合は、WindowsPhone7のC#DLLを使用することは不可能ですか? C#Dllはvisualstudio2008 C#でうまく読み込まれました。

答えて

2

なぜC#で書かれたクラスライブラリでP/Invokeを使用しようとしていますか?ただ、DLLへの参照を追加し、それを直接使用します。

using MathLibrary; 
... 

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

をあなたは、Windows Phone 7の中でP /呼び出しを使用することはできませんが、使用クラスライブラリ(Windowsの携帯電話7用に構築)することができます。

+0

回答ありがとうございました。もう一つ質問があります。あなたはクラスライブラリ(Windows Phone 7のために作られたもの)を使うことができると言った。 Visual Studio 2010で 'Windows Phone Class Library'によってライブラリを構築する必要があることを意味しますか? – Angdro

+0

@Angdro:それは私には完全には分かりませんが、私はそう信じています。確かに、それは私が使っているクラスライブラリでいつもしてきたことです。 –

+0

Jonに感謝します。すてきな一日を。 – Angdro

関連する問題