문제

사무실의 다른 개발자가 소비 할 수 있도록 제어 라이브러리를 .dll로 내보내려고 노력하고 있습니다.

원본을 만든 솔루션은 다음과 같습니다.

Solution 1:
-MRI.Controls (클래스 라이브러리)
-MRI.FMTOOL (웹 응용 프로그램)

MRI.FMTOOL 참조 MRI.Controls.

MRI.Controls에는 JavaScript Webresources가 있습니다. MRI.fmtool은 Webresources를 잘 읽는 것 같습니다. 모든 JavaScript 웹 리소스는 MRI.FMTool 웹 앱이 실행 중일 때 마찬가지로 나타납니다.

그래서 이제 나는 mri.fmtool을 소비하기 위해 간단한 솔루션을 만들려고 노력하고있었습니다.

Solution 2:
-MRI.ConsumerTest (웹 응용 프로그램)

최신 MRI.controls.dll을 사용하여 MRI.ConsumerTest 응용 프로그램에 대한 참조로 추가했습니다. MRI.Controls의 모든 컨트롤은 MRI.ConsumerTest 내부에서 작동하는 것으로 보입니다. Intellisense는 작동하고 있으며 문제가 없습니다.

그러나 실행할 때 대부분의 webresource.axd 파일은 비어 있습니다. 하나의 webresource.axd 파일은 비어 있지 않으며 단순히 "이 리소스를 찾을 수 없습니다"라고 말합니다.

다음은 속성 창 내부의 JavaScript 파일의 속성입니다.
조치 구축 : "임베디드 리소스"
출력 디렉토리로 복사 : "항상 복사"

내가 어떤 단계를 놓치고 있습니까?

도움이 되었습니까?

해결책 3

Webresource CSS 파일이 제대로로드되고 있음을 알았지 만 새 솔루션에서 Webresource에 JavaScript가로드되지 않았습니다.

따라서 사용하는 대신 System.web.ui.clientscriptManager Webresources를 등록하는 데 사용하면 사용으로 전환했습니다. System.web.ui.ScriptManager. 이제 파일이 나오고 있습니다 ScriptManager.axd (대신에 Webresource.axd). 이것은 문제를 해결하는 것처럼 보였다.

수정 전에 이전 코드 :

public class ScriptManagerExtension : System.Web.UI.ScriptManager
{
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        Page.ClientScript.RegisterClientScriptResource(this, typeof(ScriptManagerExtension), "Mri.Controls.Resources.Scripts.Libraries.jQuery.js");
    }
}

위의 코드 스 니펫은 System.web.ui.clientscriptManager를 사용합니다

수정 후 새 코드 :

public class ScriptManagerExtension : System.Web.UI.ScriptManager
{
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        RegisterClientScriptResource(this, typeof(ScriptManagerExtension), "Mri.Controls.Resources.Scripts.Libraries.jQuery.js");
    }
}

위의 코드 스 니펫은 System.web.ui.scriptManager를 사용합니다

내 이해를 통해 ClientScriptManager는 2.0으로 소개되었습니다. ScriptManager는 기능이 훨씬 더 많은 스크립트를 관리하는 새로운 3.5 가지 방법이라고 생각합니다.

/어깨를 으쓱하다

다른 팁

Assembly : Webresource ( "Yournamespace.yourfile.js", "text/javaScript")] 속성이 누락되었을 것입니다. Webresource.axd는 그 속성이 필요합니다. 당신은 확인할 수 있습니다 이것 문제에 대한 추가 정보는 KB 기사.

리소스가 DLL의 일부로 설정되어 있습니까?

솔루션 MRI.controls를 열고 JavaScript 리소스 파일의 속성을 봅니다.
나는 그것이 문제가 될 수있는 곳이라고 생각합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top