我有一个使用此命令的自定义 msbuild 任务:
var workspace = Workspace.LoadStandAloneProject(csprojPath);
当我运行它时,它会引发以下错误:
System.InvalidCastException 未被用户代码处理 消息=无法将透明代理转换为类型“Roslyn.Utilities.SerializableDataStorage”。 来源=Roslyn.Services 堆栈跟踪: 在 Roslyn.Utilities.RemoteServices.CreateInstance[T]() 在 Roslyn.Services.Host.TemporaryStorageServiceFactory.CreateService(IWorkspaceServiceProvider workspaceServices) 在 Roslyn.Services.Host.WorkspaceServiceProviderFactory.Provider.c__DisplayClass7.b__4() 在 Roslyn.Utilities.NonReentrantLazy`1.get_Value() 在 Roslyn.Services.Host.WorkspaceServiceProviderFactory.Provider.GetService[TWorkspaceService]() 在 Roslyn.Services.SolutionServices..ctor(IWorkspaceServiceProvider 工作空间服务,ILanguageServiceProviderFactory 语言服务工厂) 在 Roslyn.Services.Solution..ctor(SolutionId id,字符串文件路径,VersionStamp 版本,VersionStamp latestProjectVersion,ILanguageServiceProviderFactory languageServiceProviderFactory,IWorkspaceServiceProvider workspaceServices) 在 Roslyn.Services.Host.SolutionFactoryServiceFactory.SolutionFactoryService.CreateSolution(SolutionId id) 在 Roslyn.Services.Host.TrackingWorkspace.CreateNewSolution(ISolutionFactoryService solutionFactory,SolutionId id) 在 Roslyn.Services.Host.TrackingWorkspace..ctor(IWorkspaceServiceProvider workspaceServiceProvider,布尔 enableBackgroundCompilation,布尔 enableInProgressSolutions) 在 Roslyn.Services.Host.HostWorkspace..ctor(IWorkspaceServiceProvider workspaceServiceProvider,布尔 enableBackgroundCompilation,布尔 enableInProgressSolutions,布尔 enableFileTracking) 在 Roslyn.Services.Host.LoadedWorkspace..ctor(ILanguageServiceProviderFactory languageServiceProviderFactory,IWorkspaceServiceProvider workspaceServiceProvider,IProjectFileService projectFileFactsService,IDictionary`2 globalProperties,布尔 enableBackgroundCompilation,布尔 enableFileTracking) 在 Roslyn.Services.Host.LoadedWorkspace..ctor(ExportProvider exportProvider,布尔解决方案LoadOnly,布尔 enableFileTracking) 在 Roslyn.Services.Host.LoadedWorkspace..ctor(布尔 enableFileTracking) 在 Roslyn.Services.Host.LoadedWorkspace.LoadStandAloneProject(String projectFileName, String configuration, String platform, String language, Boolean enableFileTracking) 在 Roslyn.Services.Workspace.LoadStandAloneProject(String projectFileName, String configuration, String platform, String language, Boolean enableFileTracking) ...
相同的代码在控制台应用程序中运行时,具有相同的项目,运行良好。
有任何想法吗?谷歌搜索没有帮助!