.NET 개발에서는 bin 디렉터리에서
.pdb, .xsd, .vshost.exe, .exe, .exe.config, .vshost .exe와 같은 유형의 파일을 자주 볼 수 있습니다. config
프로젝트가 출시되면 어떤 것이 필요하고 어떤 것이 필요하지 않은지 불분명한 경우가 많습니다. 그렇다면 이러한 형식의 파일은 정확히 어떤 용도로 사용됩니까?
pdb
.pdb 파일은 VS에서 디버깅을 위해 생성한 심볼 파일입니다(프로그램 데이터베이스), 디버깅 정보를 저장합니다. VS의 프로젝트 속성, C/C++, 디버그 정보 형식에서 /Zi를 설정하면 VS는 프로젝트 빌드 시 PDB 파일을 생성합니다.
여기서 두 가지 상황을 구별해야 합니다.
1. 정적 라이브러리를 구축할 때 프로젝트 속성 -> 이름 생성된 pdb 파일의 이름을 설정합니다. 지정하지 않으면 기본적으로 VCx0.pdb로 생성됩니다. 여기서 x는 VS 버전 번호입니다. 예를 들어 VS2005를 사용하는 경우 VC80.pdb가 생성됩니다. 여기서 탄생할 거야 질문이 있습니다. 정적 라이브러리를 컴파일할 때 기본적으로 생성되는 .pdb 파일의 이름이 모두 동일합니다. 이 정적 라이브러리를 참조하는 프로젝트가 최종적으로 올바른 .pdb 파일을 찾을 수 있습니까? 대답은 '예'입니다. VS가 생성된 파일에 이를 포함하기 때문입니다. .pdb 파일의 경로입니다.
예를 들어 Project/ToolA 아래에는 정적 라이브러리 ToolA.lib가 빌드되며 이에 따라 Project에서도 vc80.pdb가 생성됩니다. /ToolB 아래에는 vc80.pdb가 생성되는 정적 라이브러리 ToolB.lib가 빌드됩니다. 그런 다음 최종 프로젝트 Work.exe는 이 두 정적 라이브러리를 동시에 연결합니다. Work.pdb가 되면 해당 기호 파일 경로인 Project/ToolA/vc80.pdb 및 ToolB.lib가 ToolA.lib에 있습니다. 해당 기호 파일 경로인 Project/ToolB/vc80.pdb를 병합하여 최종 프로젝트의 Work.pdb를 생성합니다.
2. 실행 파일 또는 동적 라이브러리를 빌드합니다. 이 경우 컴파일러는 .pdb 파일을 생성하고 링커는 .pdb 파일을 생성합니다. 프로젝트 속성 –> C/C++ -> 출력 파일 -> 프로그램 데이터베이스 이름 설정, 링커에서 생성된 .pdb 파일은 프로젝트 속성에서 설정할 수 있습니다. -> 디버깅 -> 디버깅 정보를 생성하고(예로 설정) 프로그램 데이터베이스 이름 설정을 생성합니다.
이 두 pdb 파일의 차이점은 무엇인가요? 컴파일러에서 생성된 pdb 파일의 이름도 기본적으로 vcx0으로 지정됩니다. 컴파일 프로세스 중에 컴파일러는 각 .obj 파일에 해당하는 기호 정보를 저장하지만 함수 정의는 포함하지 않습니다. 링커에서 생성된 .pdb 파일은 기본적으로 프로젝트 이름으로 이름이 지정됩니다. 이 파일은 프로젝트를 연결할 때 컴파일러에서 생성된 vcx0.pdb를 기반으로 링커에서 추가로 처리됩니다. 기호 파일에 대한 완전한 정보가 제공됩니다. 링커가 각 .obj 파일을 기반으로 exe 또는 dll을 생성하는 것처럼, 컴파일러에서 생성된 .pdb 파일은 컴파일 링크 프로세스의 중간 제품이며 최종적으로 다음 용도로 사용됩니다. 디버거는 링커에 의해 생성된 ProjectName.pdb입니다.
위에서는 pdb 파일 생성 규칙을 설명합니다. 이를 사용하면 디버깅 중에 파일에 해당하는 pdb 파일 경로를 얻은 다음 해당 경로(절대 경로)로 이동하여 exe 또는 dll을 찾습니다. 제가 직접 컴파일했기 때문에 어디에 배치해도 pdb 파일이 움직이지 않는 한 디버거에서 찾을 수 있습니다. 디버거가 해당 경로에서 이를 찾을 수 없으면 exe 또는 dll과 동일한 수준 디렉터리에서 검색합니다. 예를 들어 이 직업은 이 프로그램은 다른 사람이 컴파일하여 기호 파일과 함께 전송되었습니다. 기호 파일을 exe 또는 dll과 동일한 디렉터리에 넣으면 디버거에서도 이를 찾을 수 있습니다. 물론 디버거에서 기호를 직접 지정할 수도 있습니다. 파일 경로
XSD
XSD는 XML 스키마 정의(XML Schemas Definition)를 나타냅니다.
XML Schema는 DTD를 대체합니다. XML 스키마 언어도 XSD입니다.
XML 스키마는 XML 문서의 구조를 설명합니다. 지정된 XML을 사용할 수 있습니다. XML 문서가 요구 사항을 충족하는지 확인하기 위해 XML 문서의 유효성을 검사하는 스키마입니다. 문서 디자이너는 XML을 사용할 수 있습니다 스키마는 XML 문서가 허용하는 구조와 내용을 지정하며 XML 문서가 유효한지 확인하는 데 사용할 수 있습니다. XML 스키마 자체는 XML 구문 구조를 따르는 XML 문서입니다. 일반적인 XML 파서로 구문 분석할 수 있습니다.
XML 스키마는 문서에 나타나는 요소, 문서에 나타나는 속성, 하위 요소, 하위 요소 수, 하위 요소 순서, 요소가 비어 있는지 여부, 요소 및 속성의 데이터 유형을 정의합니다. 그리고 요소나 속성의 기본값과 고정값.
XSD가 DTD를 대체하는 이유는 다음과 같습니다. 첫째, 향후 상황에 따라 확장 가능합니다. 둘째, DTD보다 더 풍부하고 유용합니다. 셋째, XML로 작성됩니다. 다섯째, 네임스페이스를 지원합니다.
XSD 파일의 접미사는 .xsd입니다.
XML 스키마의 장점:
1) XML 스키마는 XML을 기반으로 하며 특별한 구문이 없습니다
2) XML은 다른 XML 파일처럼 구문 분석되고 처리될 수 있습니다
3) XML Schema는 일련의 데이터 유형(int, float, Boolean, date 등)을 지원합니다.
4) XML Schema는 확장 가능한 데이터 모델을 제공합니다.
5) XML 스키마는 포괄적인 네임스페이스를 지원합니다.
6) XML 스키마는 속성 그룹을 지원합니다.
.vshost.exe 및 .exe
.vshost.exe는 이름에서 알 수 있듯이 vs가 실행되고 디버깅할 때 실제로 열리는 파일입니다. 이 프로그램을 사용하면 vs가 디버깅 정보를 추적할 수 있습니다. 호스트 프로세스는 디버깅 성능을 향상시키고 부분 신뢰 디버깅을 지원하며 디자인 타임 식 평가를 지원하는 Visual Studio 2005/2008/2010/201x의 기능입니다.
호스트 프로세스 파일의 파일 이름에는 다음이 포함됩니다. vshost이며 프로젝트의 출력 폴더에 있습니다. exe는 직접 열 수 있으며 vs는 이 파일의 실행 상태를 추적하지 않습니다. 참조된 어셈블리가 완료되면 직접 실행할 수 있습니다.
.exe.config와 .vshost.exe.config의 차이점
.exe.config은 비디버깅 상태의 구성 파일입니다.
vshost.exe.config는 디버깅 중에 생성되어 디버깅에 사용되는 임시 파일입니다.
폴더에 있는 vshost.exe.config 파일의 내용은 .exe.config와 완전히 동일합니다. 주로 호스트 프로세스 디버깅에 사용되며 애플리케이션을 통해 직접 실행하거나 배포해서는 안 됩니다.
위 내용은 이 글의 전체 내용입니다. 이 글의 내용이 모든 분들의 공부나 업무에 조금이나마 도움이 되었으면 좋겠습니다.

C#.netissuitable forenterprise-levelapplications는 richlibraries, androbustperformance, 그러나 itmaynotbeidealforcross-platformdevelopmentorwhenrawspeediscritical, wherelanguagesslikerustorthightordogrordogrognegrognegrognegrognecross-platformdevelopmentor.

.NET에서 C#의 프로그래밍 프로세스에는 다음 단계가 포함됩니다. 1) C# 코드 작성, 2) 중간 언어 (IL)로 컴파일하고 .NET 런타임 (CLR)에 의해 실행됩니다. .NET에서 C#의 장점은 현대적인 구문, 강력한 유형 시스템 및 .NET 프레임 워크와의 긴밀한 통합으로 데스크탑 응용 프로그램에서 웹 서비스에 이르기까지 다양한 개발 시나리오에 적합합니다.

C#은 Microsoft가 개발 한 최신 객체 지향 프로그래밍 언어이며 .NET 프레임 워크의 일부로 개발되었습니다. 1.C#은 캡슐화, 상속 및 다형성을 포함한 객체 지향 프로그래밍 (OOP)을 지원합니다. 2. C#의 비동기 프로그래밍은 응용 프로그램 응답 성을 향상시키기 위해 비동기 및 키워드를 기다리는 키워드를 통해 구현됩니다. 3. LINQ를 사용하여 데이터 컬렉션을 간결하게 처리하십시오. 4. 일반적인 오류에는 NULL 참조 예외 및 인덱스 외 예외가 포함됩니다. 디버깅 기술에는 디버거 사용 및 예외 처리가 포함됩니다. 5. 성능 최적화에는 StringBuilder 사용 및 불필요한 포장 및 Unboxing을 피하는 것이 포함됩니다.

C#.NET 애플리케이션에 대한 테스트 전략에는 단위 테스트, 통합 테스트 및 엔드 투 엔드 테스트가 포함됩니다. 1. 단위 테스트를 통해 MSTEST, NUNIT 또는 XUNIT 프레임 워크를 사용하여 코드의 최소 단위가 독립적으로 작동합니다. 2. 통합 테스트는 일반적으로 사용되는 시뮬레이션 된 데이터 및 외부 서비스를 결합한 여러 장치의 기능을 확인합니다. 3. 엔드 투 엔드 테스트는 사용자의 완전한 작동 프로세스를 시뮬레이션하며 셀레늄은 일반적으로 자동 테스트에 사용됩니다.

C# 수석 개발자와의 인터뷰에는 비동기 프로그래밍, LINQ 및 .NET 프레임 워크의 내부 작업 원리와 같은 핵심 지식을 마스터하는 것이 필요합니다. 1. 비동기 프로그래밍은 비동기를 통해 작업을 단순화하고 응용 프로그램 응답 성을 향상시키기 위해 기다리고 있습니다. 2.linq는 SQL 스타일로 데이터를 운영하고 성능에주의를 기울입니다. 3. Net Framework의 CLR은 메모리를 관리하며 가비지 컬렉션은주의해서 사용해야합니다.

C#.NET 인터뷰 질문 및 답변에는 기본 지식, 핵심 개념 및 고급 사용이 포함됩니다. 1) 기본 지식 : C#은 Microsoft가 개발 한 객체 지향 언어이며 주로 .NET 프레임 워크에 사용됩니다. 2) 핵심 개념 : 위임 및 이벤트는 동적 바인딩 방법을 허용하고 LINQ는 강력한 쿼리 기능을 제공합니다. 3) 고급 사용 : 비동기 프로그래밍은 응답 성을 향상시키고 표현 트리는 동적 코드 구성에 사용됩니다.

C#.net은 강력한 생태계와 풍부한 지원으로 인해 마이크로 서비스를 구축하는 데 인기있는 선택입니다. 1) ASP.NETCORE를 사용하여 RESTFULAPI를 작성하여 주문 생성 및 쿼리를 처리하십시오. 2) GRPC를 사용하여 마이크로 서비스 간의 효율적인 통신을 달성하고 주문 서비스를 정의하고 구현하십시오. 3) Docker Containerized 마이크로 서비스를 통해 배포 및 관리를 단순화합니다.

C# 및 .NET의 보안 모범 사례에는 입력 확인, 출력 인코딩, 예외 처리, 인증 및 인증이 포함됩니다. 1) 일반 표현식 또는 내장 방법을 사용하여 악성 데이터가 시스템에 들어가는 것을 방지하기 위해 입력을 확인하십시오. 2) XSS 공격을 방지하기 위해 출력 인코딩 httputility.htmlencode 메서드를 사용하십시오. 3) 예외 처리는 정보 유출을 피하고 오류를 기록하지만 자세한 정보를 사용자에게 반환하지는 않습니다. 4) ASP.NETIDENITY 및 CAMPLES 기반 승인을 사용하여 신청서를 무단 액세스로부터 보호합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경
