문제

나는 데이터 액세스를 위해 Linq to Sql을 활용하는 적절한 크기의 솔루션 (13k LOC, 5 개 프로젝트)을 즐겁게 코딩했습니다. 갑자기 정상적인 빌드를 수행했는데 달콤하고 달콤한 모호한 메시지를 받았습니다.

오류 1 C : \ xxx \ xxx.dbml의 유효성 검사 오류로 인해 빌드에 실패했습니다. 파일을 열고 오류 목록의 문제를 해결 한 다음 프로젝트를 다시 빌드 해보십시오. C : \ xxx \ xxx.dbml

몇 주 동안 데이터 액세스 레이어에 손을 대지 않았으며 DBML 파일을 조정하지 않았습니다. Visual Studio를 다시 시작한 후 (일부 파일 수준 손상의 경우) 레이아웃 파일을 다시 만들고, 복사본을 만들고, 기존 파일을 다시 프로젝트에 다시 추가하는 것과 같은 어리석은 트릭을 많이 시도했습니다. 아무 소용이 없습니다.

Visual Studio Skills +5 부적을 착용하는 것을 잊었 기 때문에 주변을 검색하기 시작했으며 Visual Studio가 어셈블리를 올바르게로드하지 않았기 때문에 내 패키지를 재설정하는 것이 합리적이라는 유일한 답을 찾았습니다. " devenv.exe / resetskippkgs "를 실행 한 후 실제로 dbml 파일을 DAL 프로젝트에 다시 추가하고 솔루션을 다시 빌드 할 수있었습니다.

문제가 해결되어 기쁘지만이 경험을 통해 더 깊은 이해를 얻고 싶습니다. Visual Studio 2008에서 이런 일이 어떻게 또는 왜 발생하는지 아는 사람이 있습니까?

새 수정 : 2008 년 10 월 30 일 이것은 나에게만 일어난 일이 아닙니다. Rich Strahl은 최근 자신의 "웹 로그" 동일한 경험 에 썼습니다. . 그는 다른 같은 블로그에 연결합니다. 동일한 조치를 사용했습니다 .

원래 게시물 이후에도이 문제가 몇 번 발생하여이 문제가 임의의 문제가 아니라고 생각합니다. 누구든지 확실한 답을 찾으면 게시하십시오.

도움이 되었습니까?

해결책

TBH, 파일이 "미쳐가는 것처럼 보였습니다"와 같은 몇 가지 사례가 있습니다. 그러나 조사 결과 파일이 어떤 방식, 모양 또는 형태로든 변경된 것으로 나타났습니다. 관련되지 않은 속성을 실수로 변경하여 파일을 만들 수 있습니다.

실제로이 문제를 일으킬 수있는 문제가 너무 많은 것 같습니다. 문제가 해결되었다는 사실을 고려할 때 답을 찾을 수없는 것 같습니다.

다른 팁

Visual Studio 2008 용 Phalanger를 설치 한 후 새로운 PHP WinForms 애플리케이션을 만들려고했습니다.필요한 DLL을로드 할 수 없다는 유사한 오류 메시지와 함께 프로젝트 생성에 실패했습니다 (파일 또는 어셈블리를로드하지 못했습니다 ...).Visual Studio 2008 명령 프롬프트에서 devenv.exe / resetskippkgs 명령을 실행하면 문제가 즉시 해결되었습니다.

정보 감사합니다.

두 번째 솔루션 (설치자)에서 데이터 액세스 계층을 컴파일하려고 할 때도이 오류가 발생합니다.내가하는 일은 dbml-file에서 Custom Tool을 실행하는 것입니다.

수정해야 할 dbml 파일에는 실제로 오류가 없습니다.

내 이론은 Visual Studio가 dbml 파일의 컴파일 된 버전을 캐시하고 캐시가 다른 솔루션에는 유효하지 않다는 것입니다./ resetskippkgs를 실행하는 것이 dbml 파일을 다시 컴파일하는 것과 같은 일을하는 것 같습니다.

아직 해결되지 않았나요?

VS 2010에서 동일한 문제가 발생했습니다 (dbml 파일의 유효성 검사 오류로 인해 빌드 실패).dbml 파일의 디자이너 뷰를보고 테이블을 약간 다른 위치로 끌어서 dbml 레이아웃 등 파일을 새로 고쳐이 문제를 해결했습니다.이것은 속임수를 쓰는 것처럼 보였지만 약간 이상한 문제였습니다.

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