2017-09-17 8 views
0

Monodevelop에서 MSBuild를 사용하는 안녕하세요 - 세계 VB.NET 프로젝트를 만들려고하면이 오류가 발생합니다.VB.NET 프로젝트에서 Linux의 Monodevelop에서 MSBuild 엔진을 사용하는 방법

'Error: Target named 'Build' not found in the project. (HelloWorld)' 

MSBuild 기능을 사용하지 않으면 프로젝트가 빌드됩니다. 내가하는 일을 실제로 알지는 못하지만 .NET 응용 프로그램을 작성할 수 있도록 나 자신을 설정하려고합니다. 나는이 기능이 필요하다는 것을 완전히 확신하지 못하기 때문에 누군가 MSBuild를 사용하는 것에 대해 나를 계몽 할 수 있습니다. 감사.

+0

이것은 VB.NET 프로젝트입니까? 그렇지 않다면 msbuild 패키지가 설치되어 있습니까? –

+0

예, 그렇습니다. 그렇습니다. – Mozzy

답변

0

그래, 여기에 몇 가지 MonoDevelop 버그가 있는데 VB.NET을 지원하기 때문에 C#을 지원하지 못하기 때문입니다.

첫 번째 MonoDevelop는 .vbproj 파일에 <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />을 추가하지 않습니다. 당신이 누락 된 '빌드'목표에 대한 오류를 수정해야의 .vbproj이 가져 오기를 추가하면

bug 554445

으로 신청된다. 그러나 다음 문제가 발생할 것입니다.

모노의 MSBuild는 현재 Mono와 함께 제공되지 않는 vbnc.exe를 사용하려고합니다.

당신이 VbToolExe을 설정하여 대신 VBC.EXE를 사용하려고하면

프로젝트에 VBC.EXE 수 : 그런 다음 다른 예외로 실행

<VbcToolExe>vbnc.exe</VbcToolExe> 

.

System.TypeInitializationException: The type initializer for 'Microsoft.CodeAnalysis.VisualBasic.VisualBasicCommandLineParser' threw an exception. ---> System.TypeLoadException: Could not resolve type with token 01000286 (from typeref, class/assembly Roslyn.Utilities.IObjectReadable, Microsoft.CodeAnalysis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)

이에 대해 기록 된 또 다른 버그가 있습니다하지만 당신은 그것을 볼 수 있도록 개인 버그입니다.

현재 VB.NET 프로젝트는 MSBuild로 컴파일되지 않으므로 xbuild 또는 MonoDevelop에서 vbc.exe를 사용하기 위해 기본적으로 제공되는 기본 지원을 사용해야합니다.

+0

vbnc가 설치되어 있고 .vbproj 파일에 해당 행을 삽입 한 후 컴파일러로 사용되는 경우 현재 상황을 알고 있습니까? 난 그냥이 오류가 "오류 : 컴파일러가 코드와 충돌 : 1. (HelloWorld)". – Mozzy

+0

한 가지 더, 어떻게 monodevelop 5.1에서 xbuild를 활성화합니까? – Mozzy

+0

그래서 MSBuild를 혼동하는 두 가지 옵션이 있습니다. 글로벌 환경 설정 중 하나 - 프로젝트 - 빌드 - 'xbuild 대신 MSBuild로 빌드'를 사용하면 MSBuild를 사용할 수 있습니다. 이 옵션을 선택하지 않으면 프로젝트 옵션 - 빌드 - 일반으로 이동하고 'MSBuild 엔진 사용'을 선택하면 xbuild가 사용됩니다. 이것의 선택을 해제하면 xbuild 나 MSBuild없이 직접 VB 컴파일러를 사용하게됩니다. xbuild를 사용할 때 문제가있는 것처럼 보입니다. 디버그를 빌드 할 때 컴파일러에 전달 된 매개 변수가 마음에 들지 않습니다. 릴리스가 작동하는 것 같습니다. –