Giter VIP home page Giter VIP logo

Comments (15)

foobarbazmeow avatar foobarbazmeow commented on July 18, 2024

@Edward72
Маловато контекста.
Можете приложить кусок логов из шага Compiling build script...?
Предварительно желательно повысить уровень логирования до Diagnostic. Это можно сделать так: .\build.ps1 -Verbosity Diagnostic.

from diadocsdk-cpp.

Edward72 avatar Edward72 commented on July 18, 2024

Compiling build script...
Error: System.NullReferenceException: Object reference not set to an instance of
an object.
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.InitializerDimensions(BoundA
rrayInitialization init)
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.EmitAllElementInitializers(A
rrayTypeSymbol arrayType, BoundArrayInitialization inits, Boolean skipConstants)

at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.EmitVectorInitializers(Array
TypeSymbol arrayType, BoundArrayInitialization inits)
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.EmitArrayCreationExpression(
BoundArrayCreation expression, Boolean used)
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.EmitExpression(BoundExpressi
on expression, Boolean used)
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.EmitConversionExpression(Bou
ndConversion conversion, Boolean used)
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.EmitExpression(BoundExpressi
on expression, Boolean used)
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.EmitArgument(BoundExpression
argument, RefKind refKind)
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.EmitArguments(ReadOnlyArray 1 arguments, ReadOnlyArray1 parameters)
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.EmitCallExpression(BoundCall
call, Boolean used)
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.EmitExpression(BoundExpressi
on expression, Boolean used)
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.EmitAssignmentValue(BoundAss
ignmentOperator assignmentOperator)
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.EmitAssignmentExpression(Bou
ndAssignmentOperator assignmentOperator, Boolean used)
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.EmitExpression(BoundExpressi
on expression, Boolean used)
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.EmitStatement(BoundStatement
statement)
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.EmitSequencePoint(BoundSeque
ncePoint node)
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.EmitStatement(BoundStatement
statement)
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.EmitBlockStatement(BoundBloc
k block)
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.EmitStatement(BoundStatement
statement)
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.EmitBlockStatement(BoundBloc
k block)
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.EmitStatement(BoundStatement
statement)
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.EmitStatement(BoundStatement
statement)
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.Generate()
at Roslyn.Compilers.CSharp.CodeGen.CodeGenerator.Run(MethodSymbol meth, Bound
Statement block, ILBuilder builder, Module module, DiagnosticBag diagnostics, Bo
olean optimize, Boolean emitSequencePoints)
at Roslyn.Compilers.CSharp.Compiler.GenerateMethodBody(TypeCompilationState c
ompilationState, MethodSymbol method, BoundStatement block, DiagnosticBag diagno
stics, Boolean optimize, Boolean emitSequencePoints, Func2 mapFileNameToDebugDo c, ReadOnlyArray1 namespaceScopes)
at Roslyn.Compilers.CSharp.MethodBodyCompiler.CompileMethod(MethodSymbol meth
odSymbol, ProcessedFieldInitializers& processedInitializers, SynthesizedSubmissi
onFields previousSubmissionFields, TypeCompilationState compilationState)
at Roslyn.Compilers.CSharp.MethodBodyCompiler.CompileNamedType(NamedTypeSymbo
l symbol)
at Roslyn.Compilers.CSharp.MethodBodyCompiler.<>c__DisplayClass6.b__4()
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNot
ification(Task task)
at Roslyn.Compilers.CSharp.MethodBodyCompiler.WaitForWorkers()
at Roslyn.Compilers.CSharp.MethodBodyCompiler.CompileAllMethodBodies(Compilat
ion compilation, Module moduleBeingBuilt, Boolean generateDebugInfo, DiagnosticB
ag diagnostics, CancellationToken cancellationToken)
at Roslyn.Compilers.CSharp.Compiler.CompileAllMethodBodies(Compilation compil
ation, Module moduleBeingBuilt, Boolean generateDebugInfo, DiagnosticBag diagnos
tics, CancellationToken cancellationToken)
at Roslyn.Compilers.CSharp.Compilation.Emit(ModuleBuilder moduleBuilder, IAss
emblyLoader assemblyLoader, Func2 assemblySymbolMapper, CancellationToken cance llationToken, Boolean recoverOnError, ReadOnlyArray1& compiledAssemblyImage)
at Roslyn.Compilers.CSharp.Compilation.CommonEmit(ModuleBuilder moduleBuilder
, IAssemblyLoader assemblyLoader, Func2 assemblySymbolMapper, CancellationToken cancellationToken, Boolean recoverOnError, ReadOnlyArray1& compiledAssemblyIma
ge)
at Roslyn.Scripting.CommonScriptEngine.TryEmitSubmission(CommonCompilation co
mpilation, DiagnosticBag diagnostics, Type delegateType, Boolean collectible, Ca
ncellationToken cancellationToken, Delegate& factory)
at Roslyn.Scripting.CommonScriptEngine.Compile(String code, String path, Diag
nosticBag diagnostics, Session session, Type delegateType, Type returnType, Canc
ellationToken cancellationToken, Boolean isInteractive, Boolean isExecute, Commo
nCompilation& compilation, Delegate& factory)
at Roslyn.Scripting.CommonScriptEngine.Execute[T](String code, String path, D
iagnosticBag diagnostics, Session session, Boolean isInteractive)
at Roslyn.Scripting.Session.Execute(String code)
at Cake.Scripting.Roslyn.Stable.DefaultRoslynScriptSession.Execute(Script scr
ipt)
at Cake.Core.Scripting.ScriptRunner.Run(IScriptHost host, FilePath scriptPath
, IDictionary`2 arguments)
at Cake.Commands.BuildCommand.Execute(CakeOptions options)
at Cake.CakeApplication.Run(CakeOptions options)
at Cake.Program.Main()

from diadocsdk-cpp.

foobarbazmeow avatar foobarbazmeow commented on July 18, 2024

Это известная проблема Roslyn на x86 архитектуре - cake-build/cake#241.

Способы обойти эту ошибку описаны тут - cake-build/cake#521 (comment).

from diadocsdk-cpp.

Edward72 avatar Edward72 commented on July 18, 2024

Если это известная проблема, почему ни слова об этом в readme? Или это известная проблема, но тем не менее, настолько редкая, что попался я один?

from diadocsdk-cpp.

Edward72 avatar Edward72 commented on July 18, 2024

по ссылке предлагается добавить -mono . Это не помогло:
Compiling build script...
unknown.cake (2168,0): Unexpected symbol var' Error: Mono.CSharp.FatalException: Unexpected symbol var'
at Mono.CSharp.Report.Error(Int32 code, Location loc, String error)
at Mono.CSharp.CSharpParser.Error_SyntaxError(Int32 error_code, Int32 token,
String msg)
at Mono.CSharp.CSharpParser.Error_SyntaxError(Int32 token)
at Mono.CSharp.CSharpParser.yyparse(yyInput yyLex)
at Mono.CSharp.CSharpParser.parse()
at Mono.CSharp.Evaluator.ParseString(ParseMode mode, String input, Boolean& p
artial_input)
at Mono.CSharp.Evaluator.Compile(String input, CompiledMethod& compiled)
at Mono.CSharp.Evaluator.Evaluate(String input, Object& result, Boolean& resu
lt_set)
at Mono.CSharp.Evaluator.Run(String statement)
at Cake.Scripting.Mono.MonoScriptSession.Execute(Script script)
at Cake.Core.Scripting.ScriptRunner.Run(IScriptHost host, FilePath scriptPath
, IDictionary`2 arguments)
at Cake.Commands.BuildCommand.Execute(CakeOptions options)
at Cake.CakeApplication.Run(CakeOptions options)
at Cake.Program.Main()

from diadocsdk-cpp.

foobarbazmeow avatar foobarbazmeow commented on July 18, 2024

@Edward72 ранее с этой проблемой не сталкивались. Добавим в README описание этого сценария.

from diadocsdk-cpp.

Edward72 avatar Edward72 commented on July 18, 2024

с параметром -experimental проект вроде бы собрался. На выходе получил diadocsdk.zip. А где собственно DiadocApi.dll?

from diadocsdk-cpp.

foobarbazmeow avatar foobarbazmeow commented on July 18, 2024

@Edward72 результат компиляции - статическая библиотека (*.lib), она расположена в каталоге lib внутри архива.

from diadocsdk-cpp.

Edward72 avatar Edward72 commented on July 18, 2024

хм, мне нужно перекомпилировать проект, чтобы на выходе получить DLL, зарегистрировать COM-интерфейсы и пользовать библиотеку из программ, которые я пишу на Delphi

from diadocsdk-cpp.

foobarbazmeow avatar foobarbazmeow commented on July 18, 2024

@Edward72 Если SDK нужно только для COM, то лучше использовать C# SDK.

from diadocsdk-cpp.

Edward72 avatar Edward72 commented on July 18, 2024

C# тоже не компилируется с ходу:
Ошибка сборки.

"D:\diadocsdk-csharp\DiadocApi.sln" (целевой объект Build ) (1) ->
"D:\diadocsdk-csharp\src\DiadocApi-net35.csproj" (целевой объект по умолчанию)
(2) ->
(Целевой объект CoreCompile) ->
Cryptography\WinApiCrypt.cs(164,69): error CS1003: Синтаксическая ошибка, тре
буется "," [D:\diadocsdk-csharp\src\DiadocApi-net35.csproj]

"D:\diadocsdk-csharp\DiadocApi.sln" (целевой объект Build ) (1) ->
"D:\diadocsdk-csharp\src\DiadocApi-net45.csproj" (целевой объект по умолчанию)
(6) ->
Cryptography\WinApiCrypt.cs(164,69): error CS1003: Синтаксическая ошибка, тре
буется "," [D:\diadocsdk-csharp\src\DiadocApi-net45.csproj]

Предупреждений: 0
Ошибок: 2

Затраченное время: 00:00:00.57
An error occurred when executing task 'Build'.
Error: One or more errors occurred.
MSBuild: Process returned an error (exit code 1).

from diadocsdk-cpp.

foobarbazmeow avatar foobarbazmeow commented on July 18, 2024

Артифакты билда C# SDK можно найти в nuget либо на странице релизов.

from diadocsdk-cpp.

Edward72 avatar Edward72 commented on July 18, 2024

Microsoft .NET Framework версии 3.5 входит в комплект поставки всех редакций Windows 7. Проблема не в этом.

Артифакты билда C# SDK можно найти в nuget либо на странице релизов.

Это тоже не решение вопроса. Эти исходники вообще в принципе можно скомпилировать? Кто-то, помимо разработчиков их компилировал? Или это только у меня одного такие проблемы?

from diadocsdk-cpp.

foobarbazmeow avatar foobarbazmeow commented on July 18, 2024

error CS1003: Синтаксическая ошибка, требуется ","

Ошибка подсказывает, что MSBuild использует компилятор, не поддерживающий объявление переменных при использовании out параметра. Обновите версию MSBuild.

Эти исходники вообще в принципе можно скомпилировать? Кто-то, помимо разработчиков их компилировал? Или это только у меня одного такие проблемы?

Разумеется. Каждый релиз собирается appveyor и проходит тестирование. Описание окружения добавим в README.

from diadocsdk-cpp.

Edward72 avatar Edward72 commented on July 18, 2024

В общем, проект собрался только после установки NuGet пакета Microsoft.Net.Compilers 2.4.0 и добавления ссылок на него в проекты DiadocApi-net35.csproj и DiadocApi-net45.csproj. Причем ссылки добавлять пришлось руками, Visual Studio 2015 похоже имеет глюк в этом месте. Подробнее: меню Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution... Далее выбираем Microsoft.Net.Compilers, ставим галки напротив нужных проектов и нажимаем Install. В результате в одном проекте ссылки есть, во втором нет и как итог один компилируется, а второй нет. Добавляем руками ссылки и компилируем Solution.

from diadocsdk-cpp.

Related Issues (15)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.