첫 번째로 서명되지 않은 어셈블리에서 서명 콘솔 응용 프로그램 내에서 방법을 실행하지만 난 해요 아직 학습 과정에 있는데, 그건 내가 묻는 방식이다.일반적으로 .NET 및 모든 것에 대해 나의 무지 죄송 <p></p>, 나는 그것으로 오랫동안 일한지, 반사 모두의
나는 반사에 대해 배우고 그리고 난 다음 시도 할 때 나는 연습을했다 :
내가이 서명 조립 및 모든 확인에 서명되지 않은 참조를 추가; 컴파일러는 참조가 강한 이름이 아니었다 고 말했습니다.하지만 MethodInfo.Invoke(null, null)
을 사용하여 정적 메서드를 호출하면 완벽하게 작동했습니다.
구성 탭 페이지에서 프로젝트 (콘솔 1 만)에 서명했습니다. 누군가가 나에게 더 나은
문제를 설명 할 수
내가 이해하지 못한다는 것입니다 : 반사에 의해 호출 할 때 서명 된 어셈블리에 작동하는 이유는 어셈블리가 서명되지
합니다.
감사합니다,
내 코드
유일한 클래스 서명 조립 (콘솔 응용 프로그램) 프로젝트에서 코드 :
: 유일한 클래스 NON에서 코드는 어셈블리 프로젝트를 체결using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Assembly a = Assembly.LoadFrom(
@"path\ClassLibrary1.dll");
var m= a.GetType("ClassLibrary1.ZZ");
MethodInfo met = m.GetMethod("TroskisTroskis");
met.Invoke(null,null);
Console.ReadKey(true);
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace ClassLibrary1
{
public static class ZZ
{
public static void TroskisTroskis()
{
Thread.Sleep(1000);
}
}
}
감사합니다.
당신은 무엇을 이해하지 못합니까? 당신이 작업 코드를 게시 한 것처럼 보입니다 ...!? –
그것은 작동하지 않는다, 그것은 서명되지 않았다 – MirlvsMaximvs
중복 된 질문이 아니라 옳은 대답 [here] (http://stackoverflow.com/a/14859591/1081897) –