2017-09-12 11 views
0

두 프로젝트 : NETStandard 2.0 클래스 라이브러리이고 Console.Framework.NET Framework 4.6.1 프로젝트입니다. 콘솔 응용 프로그램이 클래스 라이브러리를 참조합니다.Cake 빌드로 NETStandard 프로젝트를 참조하는 NET Framework 프로젝트를 빌드

Cake build을 사용하여 솔루션을 만들려고합니다. 나는 DotNetBuild 방법 (link)를 사용하고 난이 출력을 얻을 :

Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch. Build started 9/12/2017 2:35:55 PM. Project "C:\Projects\NetStdExample\NetStdExample.sln" on node 1 (Build target(s)). ValidateSolutionConfiguration: Building solution configuration "Debug|Any CPU". Project "C:\Projects\NetStdExample\NetStdExample.sln" (1) is building "C:\Projects\NetStdExample\NetStdExample.StdLib\NetStdExample.StdLib.csproj" (2) on node 1 (default targets). C:\Projects\NetStdExample\NetStdExample.StdLib\NetStdExample.StdLib.csproj(1,1): error MSB4041: The default XML namespace of the project must be the MSBuild XML namespace. If the project is authored in the MSBuild 2003 format, please add xmlns="http://schemas.microsoft.com/developer/msbuild/2003" to the <Project> element. If the project has been authored in the old 1.0 or 1.2 format, please convert it to MS Build 2003 format. Done Building Project "C:\Projects\NetStdExample\NetStdExample.StdLib\NetStdExample.StdLib.csproj" (default targets) -- FAILED.

Cake를 사용하여 프로젝트의이 종류를 구축하는 방법을 방법이 있나요를?

답변

2

DotNetBuild 별명 구축 여부에 대해 정보통 결정을하게 이전 별칭입니다 :

은 MSBuild 또는 XBuild을 사용하여 지정된 솔루션입니다.

즉 빌드가 현재 실행중인 컴퓨터 유형을 확인하고 MSBuild 또는 XBuild을 실행합니다.

질문의 소리에서이 소리가 원하는대로 들리지 않습니다. 대신, 나는 당신이 DotNetCore 별명 후에 생각 :

https://www.cakebuild.net/api/Cake.Common.Tools.DotNetCore/DotNetCoreAliases/

즉 당신이 뭔가 할 수 있습니다

DotNetCoreBuild(BuildParameters.SolutionFilePath.FullPath); 

dotnet CLI를 사용하여 지정된 솔루션을 구축 할 수 있습니다.

DotNetBuild 별칭은 특정 시점에서 폐기 될 수 있습니다.

+0

콘솔 응용 프로그램 예제에서 도움이됩니다. 'DotNetCoreBuild'로 ASP.NET 프로젝트를 만들려고 할 때 :'IntegrationProxy.csproj (303,3) : error MSB4019 : 가져온 프로젝트 "C : \ Program Files \ dotnet \ sdk \ 2.0.2-vspre- 006949 \ Microsoft \ VisualStu dio \ v10.0 \ WebApplications \ Microsoft.WebApplication.targets "을 찾을 수 없습니다. 선언의 경로가 올바른지, 파일이 디스크에 있는지 확인하십시오. '이런 종류의 문제를 해결하는 방법을 알고 있습니까? – Michael

+0

Diagnostic Verbosity로 Cake를 실행하면 다음과 같이 표시됩니다 : https://stackoverflow.com/questions/38658660/how-to-enable-diagnostic-verbosity-for-cake 해당 dotnet cli 명령이 표시됩니다 실행. 명령 줄에서 같은 명령을 사용하여 수동으로 실행할 수 있다면 문제가 Cake 또는 다른 환경에서 발생하는지 확인할 수 있습니다. –

+0

문제는'''Cake'''가 아니라 프로젝트 참조가있는 것처럼 보입니다. 'dotnet build'는 일반적인 .net 프레임 워크 프로젝트를 만들 수 없습니다. 그러나 Visual Studio는 어떻게 든 구축 할 수 있습니다. 나는'Cake'로 VS 행동을 재창조하는 방법에 관심이 있습니다. 나는 더 조사 할 것이다. 고맙습니다! – Michael