안녕 포함 된 js 파일을 가져 오는 데 문제가 있습니다.WebResources를 찾을 수없는 이유
- 가 실행 카시니 개발 서버 (VS2008, .NET 3.5)
- 추가 [조립 :
나는 다음의 모든 노력했다 ", WebResource ("MyNamespace.MyScriptFile.js을 "텍스트/javascript ")] 클래스의 네임 스페이스 선언 위에.
- 스크립트 파일에 빌드 작업 "포함 리소스"가 있습니다.
- OnInit, OnLoad 및 OnPreRender 중에 등록 시도 중
- 스크립트 파일은 컨트롤을 등록한 컨트롤과 동일한 어셈블리 및 네임 스페이스에 있습니다.
- 리플렉터가있는 열린 어셈블리로, 리소스 이름이 올바른지 확인하십시오.
다음 방법 중 하나를 사용하여 작동하지 않습니다 :
ScriptManager.RegisterClientScriptResource(Page, GetType(), "MyNamespace.MyScriptFile.js"); Page.ClientScript.RegisterClientScriptResource(GetType(), "MyNamespace.MyScriptFile.js"); Page.ClientScript.RegisterClientScriptInclude(GetType(), "key", Page.ClientScript.GetWebResourceUrl(GetType(), "MyNamespace.MyScriptFile.js"));
- 다른 WebResource.axd와 파일이 발견되고있다 - 오직이 하나가 발견되지 않습니다.
자원에 대한 요청이 나열된 제외하고 404 페이지를 반환 :
"*Web resource 'MyNamespace.MyScriptFile.js' was not found.*"
작동 할 수도 있지만 임베디드 리소스를 사용하는 목적 중 하나는 javascript 파일을 어셈블리로 패키지화하여 다른 프로젝트로 내보낼 수 있다는 것입니다. 그런 다음 필요한 리소스를 통해 리소스를 동적으로 추가 할 수 있습니다.내 자신의 ScriptManager를 만들어야한다면 임베디드 리소스를 사용하는 목적이 무의미합니다. – cbp
나는 그 평가에 동의하지 않습니다. 자신의 스크립트 관리자를 갖는 것은 "마법의 끈"에 대한 필요성을 추상화하는 방법입니다. 두 번 이상 써야한다면 "MyNamespace.MyScriptFile.js"가 마법의 문자열이됩니다. 내가 너라면, 나는이 방법을 재사용이 가능하고 목적을 수행하기 때문에 단순히 사용하겠다. – zowens
나는 당신의 해결책을 시험해 보았다. 그리고 그것은 일하고있다 - 고마워! 필자는 대신 ScriptManagerProxy를 사용하여 임베디드 리소스를 적절하게 패키지하고 배포 할 수있었습니다. – cbp