지금은 ASP와 VB6.0을 사용하여 3계층 개발을 하고 있는데, 제가 작성한 DLL 파일을 디버그하기 위한 적절한 방법을 찾는 데 어려움을 겪고 있으며 효율성이 상당히 낮습니다.
나는 여러 가지 방법을 사용했습니다.
1. IIS에서 제거를 선택한 다음 VB로 다시 컴파일하여 원래 DLL을 덮어씁니다.
2. IIS에서 디버깅 중인 사이트를 선택하고 중지한 다음 컴파일하고 덮어쓴 다음 시작한 다음 IE에서 페이지를 새로 고칩니다.
3. 명령줄에서 Regsvr32.exe -u 파일 이름을 실행한 다음 컴파일하고 덮어쓰고 새로 고칩니다.
그러나 Frontpage를 사용하여 ASP 페이지를 만들 때는 항상 문제가 없지만 InterDev를 사용할 경우에는 문제가 발생합니다. 항상 DLL 파일이 잠겨 있어 덮어쓸 수 없다는 오류를 보고합니다. 때로는 InterDev를 끄거나 편집 중인 모든 파일을 닫는 것이 작동할 수도 있지만 항상 그런 것은 아닙니다.
개발에 더 편리한 InterDev를 사용하고 싶은데 더 나은 방법을 찾을 수 없습니다.
이 문제는 오랫동안 저를 괴롭혔습니다. 컴포넌트를 개발하는 모든 사람들이 이것에 대해 혼란스러워하는 것 같습니다
. --- -------------------
오늘 오후에 다음 방법을 시도해 보았는데 모두가 웃을 지 모르겠지만 정말 문제가 해결되어 오후 내내 기분이 좋았습니다. 그러나 자세한 내용은 .NET 개발 환경을 사용하고 있습니다. 다음과 같습니다:
1. .NET을 설치합니다. 물론 이 방법은 시스템 리소스를 많이 소모합니다. 설치 후 일반 컴퓨터의 실행 속도가 매우 느려지면 이 방법을 포기할 수도 있습니다. (나중에 프론트페이지와 인터개발에서도 구현이 가능하다는 걸 알았습니다 ㅎㅎ. 불평하지 마세요. 제 말 때문에 .net을 설치했는데 별로 쓸모가 없다는 걸 알았는데 써보고 푹 빠져버렸네요. 그것으로.)
2. DLL을 저장할 폴더를 만듭니다. 그런 다음 가장 "뛰어난" 부분이 나옵니다. 이 폴더 아래에 여러 개의 빈 하위 폴더를 만들고 01부터 시작하여 원하는 값까지 이름을 지정합니다.
3. IIS 관리자 시작
4. VB6에서 프로젝트를 엽니다.
5. 이제 디버깅을 하고 싶다면 직접 컴파일한 후 2단계에서 생성한 폴더를 임의로 지정하면 01부터 시작하는 것이 좋을 것 같습니다.
디버깅에 사용하는 ASP 페이지를 새로 고치십시오. 보이시나요? 내용은 이미 작성한 새 DLL 파일입니다.
위 내용은 부팅 후 첫 번째 디버깅에 불과합니다. 디버깅 과정에서 오류를 많이 발견했는데, 제가 늘 그렇게 부주의한 걸까요? 하하, 여러분은 그렇지 않길 바랍니다 :)
이제 DLL을 수정해야 합니다. 수정이 완료된 후 다시 컴파일하면 이미 페이지에서 이 구성 요소를 호출했고 메모리에 저장되었기 때문에 지금은 DLL을 덮어쓸 수 없다는 것을 알 수 있습니다. -보호됨. IIS 관리자에서 사이트를 중지해야 합니다. .net을 사용하는 경우 이것이 가능하다는 것을 알 수 있지만 다른 개발 환경은 생각과 같지 않을 수 있습니다. 이제 두 번째 단계에서 해당 폴더를 설정합니다. 작업을 수행하고 그 중 하나(02...여야 함)를 찾아 여기에 새 DLL을 넣습니다. 그런 다음 사이트를 시작합니다(다시 시작하지 마세요. 너무 느립니다. 위 단계를 수행하는 가장 간단한 방법은 IIS에서 사이트를 선택하고 상단 모서리에 있는 █를 누른 다음 ▼를 누르는 것입니다) (저는 찾지 못했습니다 ▼ , 당신은 ▼만 따라갈 수 있습니다 ^_^) 30도 회전한 시침은
어떻습니까
?
문제가 해결되었나요?
.net을 사용하면 interdev와 같은 참조를 만들 필요가 없으므로 확장 ASP를 사용하여 페이지를 직접 작성한 다음 server.createobject("") 메서드를 사용하여 모든 개체를 가져오면 됩니다. 방금 컴파일한 최신 DLL에 있는 클래스의 메서드와 특성이 자동으로 표시됩니다.
CodeInsight를 사용하고 싶지 않다면 FrontPage도 좋은 도구라고 생각합니다.
내 방법이 멍청한 걸까?
VB.net이나 C#을 사용하지 않는 이유는 현재 작업이 프로젝트를 다시 생성하는 것보다 코드를 캡슐화하는 것이기 때문입니다. vbscript와 .net의 구문 차이를 고려하면 여전히 이 어리석은 방법을 선택하고, 글을 쓰는 것이 더 이상하다고 생각합니다. VB의 DLL이 더 좋을 수도 있습니다. 그렇지 않습니까?