다음 코드는 Windows에서 잘 작동하지만 Xamarin을 사용하고 iOS를 타겟팅 할 때 GetManifestResourceStream()은 null을 반환합니다.Assembly.GetManifestResourceStream이 iOS의 Xamarin과 작동하지 않습니다.
Assembly assembly = Assembly.GetExecutingAssembly();
Stream stream = assembly.GetManifestResourceStream("CommunicationModel.XmlSchemas.DeviceCommon.xsd");
'DeviceCommon.xsd'파일을 포함 리소스로 설정했습니다. 유효한 스트림을 반환하지 않는 이유를 잘 모릅니다.
Xamarin을 사용하여 iOS에서 작동하지 않는 이유를 알고있는 사람이 있습니까?
UPDATE :
좋아, 내가 코멘트에 조언을 따라 컨텐츠로 파일을 설정합니다.
지금 파일을 검색 할 수 있지만 열 수 없습니다 :
if (File.Exists("DeviceCommon.xsd"))
{
try
{
myStream = new FileStream("DeviceCommon.xsd", FileMode.Open);
}
....
}
나는 위의 코드는 'File.Exists() 호출 작동하지만를 실행하면 나는, I을 열려고 할 때 다음 예외가 발생합니다.
Access to the path "/private/var/mobile/Applications/8BD48D1F-F8E8-4A80-A446-F807C6728805/UpnpUI_iOS.app/DeviceCommon.xsd" is denied.
아무도 내가이 문제를 해결할 수있는 방법이 있습니까 ???
덕분에, 커티스
TBH는 예상대로 작동하지 않습니다. –
나는 일반적으로 내 프로젝트에 콘텐츠로 파일을 포함합니다. 모든 것이 리소스 파일을 포함하고있는 단일 번들에 패키지되어 있기 때문에 큰 문제는 아닙니다. – Jason
이 작동합니다 - 내 생각 엔 파일이 어셈블리에 올바르게 포함되지 않은 것입니다. 어떤 이유로 든. 최종 어셈블리에서 Reflector를 사용하여 리소스가 있는지 (이름이 무엇인지) 확인할 수 있습니다. –