저는 내부 사용을위한 몇 가지 내부 방법이있는 공용 DLL을 가지고 있습니다.InternalsVisibleTo가 모든 어셈블리에서 작동하지 않습니다. 일부 작품, 일부 작품을하지 못합니다
[assembly: InternalsVisibleTo("WebServices, PublicKey=00240...b59a0")]
[assembly: InternalsVisibleTo("UnitTests, PublicKey=00240...dcf98")]
[assembly: InternalsVisibleTo("PATs, PublicKey=00240...e65cf")]
이 내부 방법 UnitTests 및 거주자 만 WebService에 완벽한 일 : 나는 또한 3 다른 프로젝트의 웹 서비스, UnitTests 및 거주자 공통 프로젝트의 AssemblyInfo.cs에서
이 옆에, 나는이 라인을 추가했다. WebService 프로젝트에 코드를 작성할 때 IntelliSense 상자에서 이러한 내부 메서드를 볼 수 있습니다. 오류 경고가 나는 코드를 작성하지만 프로젝트를 빌드 할 때, 나는이 오류 메시지가 왔을 때이 없습니다
' 내부 메소드 이름'에서의 정의를 포함하지 않는
는 '내부 메서드 이름'에 대한 정의가 포함되어 있지 않습니다'일반적인' 그 때 어셈블리 이름이 어떤 식 으로든 잘못되었다고 생각했습니다. 그리고 나는 확실히 정말 잘못 만들려고 :
그래서 난 내 어셈블리 이름이 올바른지 생각하지만 난 내 웹 서비스 프로젝트에서 내부 방법을 사용할 수없는 이유를 나는 아직도 모른다.액세스 할 수없는 그런 다음 WebService에 프로젝트에서, 그것이 내가이 메시지와 함께 컴파일하지 않고 일반적인 내부 방법을 사용하여 라인에서 바로 빨간색으로 변합니다
내부 방법 ' 내부 메소드 이름'여기가[assembly: InternalsVisibleTo("WebSer, PublicKey=00240...b59a0")]
'공통'그것은 방법을 의미합니다 :
나는 이것에 대한 단서를 발견했다. 내 WebService 프로젝트에서 Workflow를 사용했습니다. 모든 워크 플로를 제거하면 빌드가 성공적이었습니다. 그리고 워크 플로를 프로젝트에 다시 추가하면 위의 오류가 발생합니다. 워크 플로를 사용하는 어셈블리의 친숙한 어셈블리가 잘못되었다는 것을 아는 사람이 있습니까? –