Winforms 용 애플리케이션을 만드는 중입니다. 나중에 Windows Phone 용 응용 프로그램을 제공 할 계획입니다. 그래서 휴대용 라이브러리를 사용하기로 결정했습니다. 나는 나의 휴대용 라이브러리를 대상 프레임 워크를 다음과 같은 한 : 내 휴대 라이브러리에서휴대용 라이브러리 용 Google 드라이브
.NET Framework 4 and higher
Silverlight 4 and higher
Windows Phone 7 and higher
.NET for Windows Store apps
, 내가 언급 한 구글 드라이브 SDK의 라이브러리 다음 : 내 솔루션을 빌드 할 때
DotNetOpenAuth.dll
Google.Apis.Authentication.OAuth2.dll
Google.Apis.dll
Google.Apis.Drive.V2.dll
Google.Apis.OAuth2.V2.dll
log4net.dll
Newtonsoft.Json.Net35.dll
지금, 그것은 잘 작동까지 내가이 참조들을 어디서나 가지고 있기 때문에. 그러나 이러한 코드를 다음과 같이 사용하면 :
using Google.Apis.Authentication;
using File = Google.Apis.Drive.v2.Data.File;
public interface IUtilities
{
void SampleMethod(IAuthenticator authenticator, File file);
}
이제 컴파일 오류가 발생합니다. 나는 솔루션을 구축하려고하지만 때이 라이브러리를 사용하여 더 많은 코드를 작성하면 나는 비슷한 방법으로 모든 객체에 대한 오류,
Error 1 The type or namespace name 'IAuthenticator' could not be found (are you missing a using directive or an assembly reference?)
Error 3 The type or namespace name 'Google' could not be found (are you missing a using directive or an assembly reference?)
에 따라 얻을. 아무도 이것을 이해할 수 있습니까? 더 자세한 정보가 필요하면 알려주세요. 감사.
Daniel :하지만 비 PCL이 PCL에서 참조되면 컴파일 오류가 발생합니다. 아니면 우리가 그들을 참조하도록해서는 안됩니다. 나는 이것을 시도했다. 하지만 확실하지 않아서 런타임 오류가 발생하는 이유는 무엇입니까? 그러나 나는 그들 중 몇몇과 이전에 많은 것을 방문했지만 주어진 참고 문헌을 살펴볼 것이다. 그러나 이번에는 더 심각하게 그들을 보게 될 것입니다. 감사합니다 – Sandy
@rapsalands 예, 잘못된 DLL을 참조하려고 할 때 오류가 발생하는 것이 타당합니다. 지원되지 않는 프로젝트 간 참조를 추가하려고하거나 대상 플랫폼을 지원하지 않는 NuGet 패키지에 대한 참조를 추가하려고하면 오류가 발생합니다. DLL에 대한 파일 참조는 오류가 발생하지 않는 유일한 상황입니다. 시간이 지남에 따라 더 많은 라이브러리가 NuGet으로 마이그레이션 될 것이므로 문제는 줄어들지 않을 것이라고 생각합니다. –
나는 당신의 요점을 알아 냈다. 그러나 어떤 기능이 빌드 실패의 원인인지 알 수있는 방법은 무엇입니까? 컴파일 오류가 발생하면 인터페이스에서 해당 부분을 마이그레이션 할 수 있습니다. 그러나 오류가 없다면 내 솔루션을 실패하게 만드는 기능을 선택하는 것은 매우 어려울 것입니다. – Sandy