VS 2010 Win7 x64에서 .Net 4.0을 대상으로하는 WCF 프로젝트가 있습니다.이 어셈블리는 서명 된 어셈블리입니다. Box.V2 SDK는 NuGet을 통해 설치되었으며 우리가 사용하는 버전은 1.0.5입니다. 우리는 솔루션을 구축하는 첫 번째 문제는 우리가 다음 오류 때문에 앞으로 갈 수 Box.V2 DLL을 자체였다 시도하면 Box.V2 SDK 배포 문제 : 파일 또는 어셈블리 'Nito.AsyncEx ...'또는 해당 종속성 중 하나를로드 할 수 없습니다. 강력한 이름의 어셈블리가 필요합니다.
나쁜 일
이 발생하기 시작 :"Assembly generation failed -- Referenced assembly 'Box.V2' does not have a strong name".
우리 'Brutal Developer .NET Assembly Strong-Name Signer (1.3.0.0)'을 사용하여 어셈블리에 서명함으로써이 문제를 극복 할 수있었습니다.
var config = new BoxConfig(clientId, clientSecret, new Uri(redirectUri));
var client = new BoxClient(config);
:
우리는 클라이언트를 인스턴스화하려면 다음 코드를 사용 :"Could not load file or assembly 'Nito.AsyncEx, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. A strongly-named assembly is required. (Exception from HRESULT: 0x80131044)".
이 성공적으로 내장되어있어 후 우리는 다음과 같은 메시지와 함께 예외를 던질 것 BoxClient을 만드는 반면, 두 번째 문제에 부딪쳤다
여기서 clientId, clinetSecret 및 redirectUri는 메소드의 매개 변수입니다. 이 문제를 해결하기 위해 촬영
단계 :
- Nito.AsyncEx.dll 같은 전술 도구를 사용하여 서명 한 - 같은 예외를.
- Nito.AsyncEx 어셈블리는 실제로 최신 버전 (2.1.3.0)으로 업그레이드되었으며 실제로 어셈블리를 수정하여 강력한 어셈블리 이름을 사용했습니다.
- 여기에 제출 된 문제 중 하나 (https://github.com/box/box-windows-sdk-v2/issues/3)도 비슷한 문제가 있었지만 제안 된 시나리오를 따르려고했지만 도움이되지 않았습니다.
- 동일한 예외가 던져지기 때문에 우리는 전혀 어셈블리에 서명하지 않으려 고 노력했지만 다시는 무의미했습니다.
- 우리는 또한 꼬집고 here에 설명 된대로 Box.V2.dll에 서명했지만, 이러한 오류가 발생하고 심지어 나중에 그것을 만들 수 없습니다 :
The base class or interface 'System.Object' in assembly 'System.Runtime, Version=2.6.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' referenced by type 'Box.V2.BoxClient' could not be resolved
The base class or interface 'System.Object' in assembly 'System.Runtime, Version=2.6.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' referenced by type 'Box.V2.Config.BoxConfig' could not be resolved
그래서 우리는 현재 박스를 배포 붙어 Google 제품의 API가 다소 실망 스럽습니다.
도움을 주시면 대단히 감사하겠습니다.
SDK를 어디에서 다운로드 할 수 있습니까? 나는 아직도 문제를 만난다. https://github.com/box/box-windows-sdk-v2에서 SDK를 다운로드하고 Nito.AsyncEx 패키지를 직접 복사했지만 아무 일도 일어나지 않습니다. ( – xqMogvKW
Nuget에서 라이브러리가 올바르게 저장되어 있음을 기억하는 한 서명 된 어셈블리의 버전 –