Open vicancy opened 7 years ago
Any update on this ( @DustinCampbell )? This breaks DocFX on Linux at the moment (unless you run from assemblies instead), which is a pretty big pain for otherwise cross-platform apps :(
@DustinCampbell , @Pilchie , @vicancy
Guys I am also having this exact problem. Do we have any update on this? @vicancy , please let me know if you have found any pointer to resolve this issue ?
@agc93 , can you please let me know what do u mean by unless you run from assemblies instead? How do we do it ? Please let me know your valuable inputs
@abhijitparkhi1983 If you add your output dll
s in the #/metadata/src
key in your docfx.json
it will build from your compiled assembly rather than the csproj
. For an example, check https://github.com/agc93/Cake.Handlebars/blob/develop/docfx/docfx.json#L7
I'm also affected by this issue, trying to build documentation using docfx on macOS.
I tried building the docs from source but that doesn't work for me because I need to define some constants and that's apparently not possible without a csproj. I also tried building from assemblies but since it's a Unity project, the assemblies don't include documentation.
It seems #21609 is stuck waiting on a stack trace? Since that issue doesn't mention docfx, I post my stack trace here:
{System.PlatformNotSupportedException: Operation is not supported on this platform. at System.Runtime.InteropServices.Marshal.GetTypeFromCLSID (System.Guid clsid) [0x00000] in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/corlib/System.Runtime.InteropServices/Marshal.cs:725 at Microsoft.Build.Shared.VisualStudioLocationHelper.GetQuery () [0x0000a] in <5452a999769d4e6a81de7a3aa0b8f9f1>:0 at Microsoft.Build.Shared.VisualStudioLocationHelper.GetInstances () [0x00006] in <5452a999769d4e6a81de7a3aa0b8f9f1>:0 at Microsoft.Build.Shared.BuildEnvironmentHelper.TryFromSetupApi () [0x00016] in <5452a999769d4e6a81de7a3aa0b8f9f1>:0 at Microsoft.Build.Shared.BuildEnvironmentHelper.Initialize () [0x0007a] in <5452a999769d4e6a81de7a3aa0b8f9f1>:0 at Microsoft.Build.Shared.BuildEnvironmentHelper+BuildEnvironmentHelperSingleton..cctor () [0x00000] in <5452a999769d4e6a81de7a3aa0b8f9f1>:0 } base: {System.NotSupportedException}
System: macOS 10.12.6 (16G29) Visual Studio: 7.2 (build 636) Mono: 5.4.0.201 (2017-06/71277e78f6e) (64-bit)
@DustinCampbell any movement on this?
In order to make it work, you must set the MSBUILD_EXE_PATH
environment variable.
Add the following line before the lines from the third point:
Environment.SetEnvironmentVariable("MSBUILD_EXE_PATH", @"C:\Program Files (x86)\Mono\lib\mono\msbuild\15.0\bin\MSBuild.dll");
To get the correct msbuild path across various operating systems, you can use this helper method.
Hi, I was getting into the same error when loading my project from mono on mac. Using the answer from @maca88 I was able to get around that, only to get another error:
{[Failure] Msbuild failed when processing the file '/Users/zachi/Projects/MonoAGS/Source/Demo/DemoQuest.Desktop/DemoQuest.Desktop.csproj' with message: The type initializer for 'Microsoft.Build.Collections.MSBuildNameIgnoreCaseComparer' threw an exception.}
I tried to put a "catchpoint" in VS 4 Mac to break on all exceptions, but it doesn't break.
If I put a breakpoint in the "WorkspaceFailed" event, this is the stacktrace:
Microsoft.CodeAnalysis.Workspace.(System.EventHandler<Microsoft.CodeAnalysis.WorkspaceDiagnosticEventArgs> handler) in
Roslyn.Utilities.EventMap.Registry<System.EventHandler<Microsoft.CodeAnalysis.WorkspaceDiagnosticEventArgs>>.Invoke(System.Action<System.EventHandler<Microsoft.CodeAnalysis.WorkspaceDiagnosticEventArgs>> invoker) in
Roslyn.Utilities.EventMap.EventHandlerSet<System.EventHandler<Microsoft.CodeAnalysis.WorkspaceDiagnosticEventArgs>>.RaiseEvent(System.Action<System.EventHandler<Microsoft.CodeAnalysis.WorkspaceDiagnosticEventArgs>> invoker) in
Microsoft.CodeAnalysis.Workspace.OnWorkspaceFailed(Microsoft.CodeAnalysis.WorkspaceDiagnostic diagnostic) in
Microsoft.CodeAnalysis.MSBuild.MSBuildWorkspace.OnWorkspaceFailed(Microsoft.CodeAnalysis.WorkspaceDiagnostic diagnostic) in
Microsoft.CodeAnalysis.MSBuild.MSBuildProjectLoader.ReportFailure(Microsoft.CodeAnalysis.MSBuild.MSBuildProjectLoader.ReportMode mode, string message, System.Func<string,System.Exception> createException) in
Microsoft.CodeAnalysis.MSBuild.MSBuildProjectLoader.LoadProjectAsync() in
System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(Microsoft.CodeAnalysis.MSBuild.MSBuildProjectLoader stateMachine) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1089
System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, Microsoft.CodeAnalysis.MSBuild.MSBuildProjectLoader state, bool preserveSyncCtx) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:957
System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, Microsoft.CodeAnalysis.MSBuild.MSBuildProjectLoader state, bool preserveSyncCtx) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:904
System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run() in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1070
System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action action, bool allowInlining, System.Threading.Tasks.Task currentTask) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/TaskContinuation.cs:823
System.Threading.Tasks.Task.FinishContinuations() in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:3624
System.Threading.Tasks.Task.FinishStageThree() in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2366
System.Threading.Tasks.Task<Microsoft.CodeAnalysis.MSBuild.IProjectFile>.TrySetResult(Microsoft.CodeAnalysis.CSharp.CSharpProjectFileLoader.CSharpProjectFile result) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/Future.cs:488
System.Runtime.CompilerServices.AsyncTaskMethodBuilder<Microsoft.CodeAnalysis.MSBuild.IProjectFile>.SetResult(Microsoft.CodeAnalysis.CSharp.CSharpProjectFileLoader.CSharpProjectFile result) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:608
Microsoft.CodeAnalysis.MSBuild.ProjectFileLoader.LoadProjectFileAsync() in
System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(Microsoft.CodeAnalysis.MSBuild.ProjectFileLoader stateMachine) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1089
System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, Microsoft.CodeAnalysis.MSBuild.ProjectFileLoader state, bool preserveSyncCtx) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:957
System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, Microsoft.CodeAnalysis.MSBuild.ProjectFileLoader state, bool preserveSyncCtx) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:904
System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run() in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1070
System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action action, bool allowInlining, System.Threading.Tasks.Task currentTask) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/TaskContinuation.cs:823
System.Threading.Tasks.Task.FinishContinuations() in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:3624
System.Threading.Tasks.Task.FinishStageThree() in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2366
System.Threading.Tasks.Task<Microsoft.CodeAnalysis.MSBuild.ProjectFileLoader.LoadedProjectInfo>.TrySetResult(Microsoft.CodeAnalysis.MSBuild.ProjectFileLoader.LoadedProjectInfo result) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/Future.cs:488
System.Runtime.CompilerServices.AsyncTaskMethodBuilder<Microsoft.CodeAnalysis.MSBuild.ProjectFileLoader.LoadedProjectInfo>.SetResult(Microsoft.CodeAnalysis.MSBuild.ProjectFileLoader.LoadedProjectInfo result) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:608
Microsoft.CodeAnalysis.MSBuild.ProjectFileLoader.LoadProjectAsync() in
System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(Microsoft.CodeAnalysis.MSBuild.ProjectFileLoader stateMachine) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1089
System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, Microsoft.CodeAnalysis.MSBuild.ProjectFileLoader state, bool preserveSyncCtx) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:957
System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, Microsoft.CodeAnalysis.MSBuild.ProjectFileLoader state, bool preserveSyncCtx) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:904
System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run() in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1070
System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action action, bool allowInlining, System.Threading.Tasks.Task currentTask) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/TaskContinuation.cs:823
System.Threading.Tasks.Task.FinishContinuations() in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:3624
System.Threading.Tasks.Task.FinishStageThree() in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2366
System.Threading.Tasks.Task<System.IO.MemoryStream>.TrySetResult(System.IO.MemoryStream result) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/Future.cs:488
System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.IO.MemoryStream>.SetResult(System.IO.MemoryStream result) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:608
Microsoft.CodeAnalysis.MSBuild.ProjectFileLoader.ReadFileAsync() in
System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(Microsoft.CodeAnalysis.MSBuild.ProjectFileLoader stateMachine) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1089
System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, Microsoft.CodeAnalysis.MSBuild.ProjectFileLoader state, bool preserveSyncCtx) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:957
System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, Microsoft.CodeAnalysis.MSBuild.ProjectFileLoader state, bool preserveSyncCtx) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:904
System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run() in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1070
System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action action, bool allowInlining, System.Threading.Tasks.Task currentTask) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/TaskContinuation.cs:823
System.Threading.Tasks.Task.FinishContinuations() in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:3624
System.Threading.Tasks.Task.FinishStageThree() in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2366
System.Threading.Tasks.Task<int>.TrySetResult(int result) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/Future.cs:488
System.Threading.Tasks.TaskFactory<int>.FromAsyncTrimPromise<System.IO.Stream>.Complete(System.IO.FileStream thisRef, System.Func<System.IO.Stream,System.IAsyncResult,int> endMethod, System.Runtime.Remoting.Messaging.AsyncResult asyncResult, bool requiresSynchronization) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/FutureFactory.cs:1444
System.Threading.Tasks.TaskFactory<int>.FromAsyncTrimPromise<System.IO.Stream>.CompleteFromAsyncResult(System.Runtime.Remoting.Messaging.AsyncResult asyncResult) in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/FutureFactory.cs:1414
System.Runtime.Remoting.Messaging.AsyncResult.Invoke() in
System.Runtime.Remoting.Messaging.AsyncResult.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/corlib/System.Runtime.Remoting.Messaging/AsyncResult.cs:210
System.Threading.ThreadPoolWorkQueue.Dispatch() in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/threadpool.cs:856
System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/threadpool.cs:1211
My code is:
var workspace = MSBuildWorkspace.Create();
workspace.WorkspaceFailed += onWorkspaceFailed;
_project = await workspace.OpenProjectAsync(path);
And the project I'm trying to open is: https://github.com/tzachshabtay/MonoAGS/blob/master/Source/Demo/DemoQuest.Desktop/DemoQuest.Desktop.csproj
Please help, thanks.
So based on the @vicancy 's comment from https://github.com/dotnet/docfx/issues/2358, I tried to downgrade System.Runtime.InteropServices.RuntimeInformation
from 4.3.0 to 4.0.0.
I'm now getting a new error and I want to cry:
[Failure] Msbuild failed when processing the file '/Users/zachi/Projects/MonoAGS/Source/Demo/DemoQuest.Desktop/DemoQuest.Desktop.csproj' with message: GetEnvironmentStrings
I'm guessing this has something to do with https://github.com/Microsoft/msbuild/issues/1987 ?
I can't open any solution with mono either.. could someone?
Version Used: package version: 2.3.0 Mono version: Mono JIT compiler version 5.0.1 (Visual Studio built mono) Steps to Reproduce:
dotnet new classlib -n testproj
ConsoleApp1.exe testproj\testproj.csproj
, works fine, prints4
mono ConsoleApp1.exe testproj\testproj.csproj
, fails with "Expected Behavior: Should pass Actual Behavior: Error message: Workspace failed with: [Failure] Msbuild failed when processing the file 'E:\Repo2\ConsoleApp1\bin\Debug\debug.csproj' with message: Operation is not supported on this platform.