- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Roslyn 和 MSBuildWorkspace 分析解决方案。该解决方案是一个新的解决方案,其中有2个类库项目,一个引用另一个。
它们是在 Visual Studio 2017、.Net 4.6.2 中创建的。
当我打开解决方案时,我在 workspace.Diagnostics 中收到两个一般错误,它们都是:Msbuild 在处理文件“PathToProject”时失败诊断或输出窗口中没有更多内容指示无法处理项目文件的原因。
解决方案打开代码:
namespace RoslynAnalyse
{
class Program
{
static void Main(string[] args)
{
LocalAnalysis();
}
private static void LocalAnalysis()
{
var workspace = MSBuildWorkspace.Create();
var solution = workspace.OpenSolutionAsync(@"D:\Code\Roslyn\RoslynAnalyse\SolutionToAnalyse\SolutionToAnalyse.sln").Result;
var workspaceDiagnostics = workspace.Diagnostics;
}
}
}
Microsoft.CodeAnalysis 的版本是 2.0.0.0。有人知道 MSBuild 失败的原因吗?我如何才能获得更多信息?
最佳答案
当 MSBuildWorkspace 无法以这种方式打开项目或解决方案时,几乎总是因为使用 MSBuildWorkspace 的应用程序不包含与 msbuild.exe.config 相同的绑定(bind)重定向。
MSBuild 使用绑定(bind)重定向来允许任务(通常已经使用可能不同版本的 msbuild API 库编译的 C# 代码)全部使用当前的 msbuild API。否则,msbuild 会出现运行时加载失败。
解决方案是将 app.config 文件添加到您的项目并将绑定(bind)重定向(msbuild.exe.config 文件的 assemblyBinding 部分)复制到您的文件中。
关于c# - 使用 msbuildworkspace 打开解决方案会给出没有详细信息的诊断错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43013142/
注意我也问过这个问题(带有复制代码)on Roslyn's GitHub 创建一个包含 2 个项目(CoreLibrary 和 DownstreamLibrary)的新解决方案。 将项目引用从 Dow
我有 Visual Studio 2013。我还安装了 MSBuild Tools 2013。以下代码给出了异常 var workspace=MSBuildWorkspace.Create(); 这是
我正在尝试打开解决方案并想引用该项目..但是 solution.Projects 总是空的。下面是我的代码。我错过了什么吗? var workspace = MSBuildWorkspace.Crea
我正在尝试使用 Roslyn 和 MSBuildWorkspace 分析解决方案。该解决方案是一个新的解决方案,其中有2个类库项目,一个引用另一个。 它们是在 Visual Studio 2017、.
我正在使用 roslyn Formatter.Format() 方法来格式化一些 c#。 其中一个参数采用 Workspace 对象,该对象可以使用 MSBuildWorkspace.Create()
我正在使用 MSBuildWorkspace,需要分析 C# 解决方案的错误。我不需要实际的编译结果(文件),只需要错误。 使用 MSBuildWorkspace 从解决方案中获取错误列表的最快方法是
我正在尝试学习如何使用 Roslyn 从 C# 源文件中提取信息。但我什至无法开始,因为我似乎无法找到安装正确软件包的正确方法。 我正在尝试构建一个简单的 netcoreapp1.1 控制台应用程序。
我有一个 VS 2013 控制台应用程序,它加载任何解决方案 (.sln) 文件 - 使用 Roslyn 编译其中的所有项目并从编译模型中提取 API 使用信息。 我现在面临这个特殊的问题 - 当我从
我正在使用 Roslyn 编译一个包含多个项目的 C# 解决方案,使用 MsBuildWorkspace。 很容易找到Project 的输出文件,为此我可以使用OutputFilePath 属性。 但
为了我的硕士论文,我正在构建一个 Visual Studio 插件,它应该对当前打开的解决方案执行一些代码分析。为此,我决定尝试使用 Roslyn,使用 corresponding nuget pac
使用以下项目创建解决方案。 一个.NetStandard2.0项目,命名为“1” 一个.NetStandard2.0项目,命名为“2” 在2中添加项目1的引用 .Net4.6.1 控制台项目将其命名为
我已经使用 Microsoft.CodeAnalysis 包设置了一些解决方案健全性测试,一切都很顺利,因为我安装了 VS2017 并转换了我的 ASP.Net Core Web 应用程序。由于 cs
我是一名优秀的程序员,十分优秀!