2017-09-26 6 views
0

최근에 Visual Studio 2017에서 작동하도록 Cordova 솔루션을 업그레이드했습니다. Visual Studio Professional 2017 IDE에서 Android APK를 성공적으로 빌드 할 수 있습니다.MSBuild 2017 Cordova 솔루션을 구축하지 못했습니다.

내가 명령 줄에서 MSBuild를 2017을 사용하여 솔루션을 구축, 내가받을 다음과 같은 오류를하려고하면 Node.js를의 v4.8.4 및 v6.11.3를 사용하는 경우

MSBUILD : cordova-build error BLDErr_Build_ExceptionLookingForNode: Unable to determine location of Node.js installation. Exception: Could not load file or assembly 'Microsoft.VisualStudio.Setup.Engine, Version=1.0.0.0, Culture=neutral, Pu blicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. [C:\dev\Common\Source\Mobile-NGC\PhalanxNGC.jsproj]

나는대로, 그것을 시도 잘 32 비트 및 64 비트 버전이지만 성공하지 못합니다.

나는 또한 Microsoft.VisualStudio.Setup.Engine.dll에 대해보고하고 난 IDE 디렉토리에서 찾을 수 있습니다 : C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\PrivateAssemblies\Microsoft.VisualStudio.Setup.Engine.dll

은 내가 MSBuild를 디렉토리 아래를 찾을 수 없습니다입니다.

도움을 주시면 감사하겠습니다. 감사합니다. .

편집 : 내가 사용중인 MSBuild는 https://www.visualstudio.com/downloads/에서 다운로드 한 "Visual Studio 2017 용 빌드 도구"입니다.

그것은 C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin

에 설치되어 내가 사용은 MSBuild 명령은 다음과 같습니다

C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBUILD.exe /nologo /p:Configuration=Debug /verbosity:diag C:\dev\Common\Source\Mobile-NGC\NGC.sln

Edit2가 : 출력을 구축 성공적인 IDE에 실패한 MSBuild에서 CLI 출력을 비교 한 후, 나는 볼 수 있습니다 실패한 CLI MSBuild에 대해 NodeJsDir 등록 정보가 로깅되지 않았 음을 나타냅니다. NodeJsDir = C:\ProgramData\Microsoft\VisualStudio\MDA\8430d60a\taco-toolset-6.3.1

EDIT3 :

이 성공적으로 빌드 로그에서 라인이 아파치 코르도바 도구에 대한 다른 환경 변수가 실패한 빌드 로그에서 누락 된 것처럼 그것은 보인다. 여기에는 NODEJSDIR, NPMINSTALLDIR, LANGNAME, BUILDVERBOSITY, GIT_HOME이 포함됩니다.

업데이트 : 나는 Microsoft 지원이를보고 그리고 그것은 지금 문제로 기록됩니다. 지금은 주변의 작업은 명령 줄에서 devenv를 사용하여 구축하는 것입니다 :

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.com [PathToCordovaSolution] "Debug|Android"

+0

을 실행하여 vswhere.exe를 사용하여 얻을 수있다 당신은 "MSBuild를 2017"무엇을 의미합니까? 개발자 명령 프롬프트 VS 2017 도구 또는 호출 C : \ Program Files (x 86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin에서 MSBuild.exe? 당신의 빌드 명령을 나에게 알려주시겠습니까?새로운 빈 코드바 프로젝트를 만들고 스크립트를 새 프로젝트에 복사 한 다음 제대로 작동하는지 확인하십시오. –

+0

C : \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ 15.0 \ Bin의 MSBuild입니다. https://www.visualstudio.com/downloads/에서 다운로드했습니다. Visual Studio 2017 " – Callum

+0

답장을 보내 주셔서 감사합니다. 컴퓨터에 Visual Studio Professional 2017을 설치 했으므로 C : \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ 15.0 \ Bin에서 MSBuild를 사용해보십시오. 그것이 잘 작동하는지 확인하십시오. 그렇지 않은 경우 여기에서 빌드 로그를 공유하십시오. –

답변

0

당신이 스크립트를 구축 할 수있는 유일한 변화는 수동으로 /p:InstanceId=432dc062

이 인스턴스 ID를 사용하여 비주얼 스튜디오 2017 인스턴스를 표시 MSBuild에 속성을 제공하는 것입니다 VS2017 업데이트 이후에 변경되므로 이후에 수동으로 빌드 스크립트를 업데이트해야합니다.

현재 인스턴스가

C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe 
+0

응답 해 주셔서 감사합니다. Microsoft 지원부에 연락하여 알려진 문제로 기록됩니다. 임시 질문으로 내 질문을 업데이트하겠습니다. – Callum

+0

개발자 커뮤니티 웹 사이트 https://developercommunity.visualstudio.com/content/problem/155613/build-new-cordova-project-with-msbuild-results-in.html 에 해결 방법을 추가하십시오. 아마도 도움이 될 것입니다. – codevision