2014-02-17 2 views
1

동일한 Visual Studio 프로젝트 내에 MyClass.cs라는 이름의 클래스 파일이 있어도 런타임에 MyClass.cs.bak와 같은 클래스 파일이 사용됩니까?Visual Studio 2012에서 확장명이 .bak 인 클래스 파일

두 파일 모두 프로젝트에 포함되어 있습니다. 프로젝트는 웹 응용 프로그램 유형이므로 배포 할 때 모든 것이 단일 DLL로 컴파일됩니다. 컴파일하는 동안 .bak 파일이 무시되는지 확실하지 않습니다.

저는 과거의 개발자가이 두 파일을 모두 프로젝트에 포함시킨 Visual Studio 프로젝트를 작업하고 있습니다.

+0

대부분 프로젝트에서 제외해야하는 백업 파일 일 가능성이 큽니다. 다른 파일과 비교하여 차이점을 보았습니까? – Lloyd

+0

@Lloyd - 단 한 줄의 차이가있었습니다. 그러나 우리는 소스 컨트롤을 사용합니다. 그래서 누군가가 .bak 파일을 만드는 것을 왜 생각할 것입니다. – Sunil

+0

VS.net에는 특정 파일 확장명이 있으며 프로젝트의 모든 파일을 찾을 수 있으며 확장명을 알고있는 경우 해당 파일을 사용하여 무언가를 시도합니다. 'bak' 확장이 Visual Studio를위한 무언가를 의미한다면, 그것은 특정 방식으로 그것을 처리하려고 시도 할 것입니다. 하지만 그것은 확실히 코드 파일 확장명이 아닙니다. 코드 파일은'* .cs','.vb','* .ashx' (웹 사이트 용) 등입니다.'bak' 파일의 빌드 동작을 확인하십시오. 어떤 것이 든, 나는 db- 관련 파일 확장이라고 생각한다. –

답변

1

.bak 파일은 일반 텍스트 파일로서 취급된다.

이것은 매우 쉽게 테스트 할 수 있습니다. 클래스 이름이 foo 인 새 클래스 파일을 만듭니다.

이제 .cs.bak 파일을 새로 만들고 동일한 코드를 입력하십시오.

프로젝트를 컴파일 할 때 중복 클래스 선언 오류가 발생합니다. 이는 발생하지 않습니다.

+0

그래서 생성하는 것은 무엇입니까?이 경우 bak 파일? 우리가 소스 컨트롤을 사용하기 때문에 전혀 필요하지 않은 것 같습니다. – Sunil

+0

@Sunil 그것은 내가 추측하는 백업 파일이다 ... –

+0

나는 그것이 백업 또는 아카이브로 생성되었다고 추측 할 수있다. 그러나 프로젝트가 버전 관리에 있기 때문에 그렇게하는 것이 타당하지 않습니다. – Kami

1

는 내가 아는 (체크)으로, 기본,하여 *.bak 파일 하지 않는 VS 프로젝트에서 C# 클래스 파일로 간주입니다. 이것은 단지 class 모듈로 어셈블리에 따르지 않은 또 다른 텍스트 파일입니다. 따라서, 클래스 이름 선언 예외가 중복되지 않는 이유는 무엇입니까?

항상 VS로 컴파일하여 컴파일 가능한 C# 파일로 처리 할 수 ​​있습니다. 속성 -> 빌드 작업 -> 컴파일.

단지 백업 (bak) 소스 파일처럼 보입니다. 단지 기록 목적으로 만 사용합니다.

4

솔루션 탐색기에서 파일을 클릭하고 속성 창을 보면 "빌드 작업"이라는 속성이 나타납니다. 파일을 코드 ("컴파일"), 리소스 ("포함 리소스") 또는 무시 ("없음")로 처리할지 여부를 정의합니다.

파일을 프로젝트에 추가하면 파일 확장자를 기반으로 기본 빌드 조치가 선택됩니다. .bak 파일의 경우 C# 프로젝트에서 특별한 의미가 없으므로 기본 "없음"을 선택해야하며 프로젝트를 컴파일 할 때 파일이 무시됩니다.

+1

우수 설명. 제안 된 수표를 시도했을 때 파일에 Build Action of Content가있는 것으로 나타났습니다. – Sunil

관련 문제