2010-04-09 3 views
0

VS2008 내에서 정상적으로 빌드 할 수있는 ASP.NET 솔루션이 있습니다.VS2008이 성공한 명령 줄에서 MSBuild가 실패하는 이유는 무엇입니까?

MSBUILD.exe c:\path-to-sln 

그것은 CS0006 오류로 실패 ("메타 데이터 파일 'DLL_NAME이'을 (를) 찾을 수 없습니다") :이 수행 할 때

그러나, 그것은 실패합니다. 솔루션 내에서 .csproj로 프로젝트를 시도 할 때도 실패합니다.

MSBuild가없는 VS2008은 무엇입니까? VS는 MSBuild가 수행 할 수없는 어셈블리 간 종속성에 대해 잘 알고 있습니다. MSBuild에 이러한 정보를 알릴 수있는 방법이 있습니까?

(나는 CruiseControl.Net 내에서 MSBuild를-작업에서 호출하고 있기 때문에 명령 줄에서 작업 MSBuild를 필요합니다.) 사전에

감사합니다. : 3)

(나는 How to get cmd line build command for VS solution? 보았다,하지만 여전히 당신은 MSBuild를 작동하기 전에 먼저 환경 변수를 설정해야합니다)

답변

1

그것을 얻을 해달라고했다. 질문과 함께 게시 한 링크에 실제로 답변이 있습니다 (첫 번째 답변 항목 참조).

한 가지 방법은 실행 파일을 빌드하려는 플랫폼에 따라 필요한 vcvars * .bat 파일을 선택하는 것입니다. 예를 들어 x86 용으로 빌드하려는 경우 vcvarsall.bat 파일에 bin\vcvars32.bat이 필요하다고 표시됩니다. 당신과 같이 배치 파일의 :end 섹션에서 빌드 단계를 수동으로는, LIB 및 libpaths를 포함하는 추가,이 배치 파일을 복사하고 추가 할 수

... 
(batch file contents go here) 
:end 
MSBUILD.exe c:\path-to-sln 

을 그 후, 당신은 단지 말할 수있는 어떤 프로그램을 방금 만든 배치 파일을 실행하기 위해 빌드를 시도하고 있습니다.

+0

답변 해 주셔서 감사합니다. 나는 대답의이 부분을 이해하지 못한다 : "수동으로 include, lib 및 libpaths"를 추가하십시오. 내 sln 및 vcvars32.bat의 내용과 별도로 무엇이 필요합니까? – sundeep

+0

Visual Studio 디렉토리에 추가 한 외부 포함/라이브러리 (있는 경우)를 추가해야합니다. vcvars * .bat 파일에는이 파일이 없습니다. 박쥐 파일에 수동으로 추가해야합니다. 나는 당신이 필요로하는 것은 해결책에 있기 때문에 아무것도 추가 할 필요가 없다고 생각합니다. – maranas

+0

감사합니다. – sundeep

관련 문제