2010-12-01 5 views
3

Windows phone 7에서 C# dll을 사용해 보았지만 아래와 같이 디버깅을 시작하면 오류가 발생합니다.Windows phone 7에서 C# dll 사용하기


Troubleshooding 팁 : 클래스 라이브러리에있어서의 액세스 레벨이 변경된 경우 , 즉 라이브러리를 참조하는 어셈블리를 컴파일. 이 예외에 대한 일반적인 도움을 얻으십시오.

이 코드입니다


...

----------------- 윈도우 폰 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; 
     } 
    } 
} 

어떤 문제가 있습니까? 그렇지 않다면 C# dll for WindowsPhone7을 사용할 수 없습니까? 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)); 
} 

을 당신은 윈도우 폰 7에서 P/호출을 사용할 수 없지만 사용하는 클래스 라이브러리 (윈도우 폰 7을 위해 만들어진) 할 수 있습니다.

+0

답변 해 주셔서 감사합니다. 나는 한 가지 더 질문이있다. 클래스 라이브러리 (Windows Phone 7 용으로 빌드 됨)를 사용할 수 있다고 말했습니까? Visual Studio 2010에서 'Windows Phone 클래스 라이브러리'를 통해 라이브러리를 빌드해야한다는 의미입니까? – Angdro

+0

@Angdro : 그것은 나에게 완전히 명확하지 않지만, 저는 믿습니다. 확실히 그것은 내가 사용하고있는 클래스 라이브러리로 항상 해왔 던 것입니다. –

+0

존 감사합니다. 제게 많은 도움이됩니다. 좋은 하루 되세요. – Angdro

관련 문제