Roslyn 实际上允许您操作 CSharp 项目的 TreatWarningsAsErrors 吗?

2024-01-23

我正在尝试检索设置 TreatWarningsAsErrors,但无法为我加载的解决方案的项目找到它。

我想要完成的是从项目文件中获取设置,并将其设置为true,如果还没有的话。接下来,我想让 Roslyn 使用新设置进行编译,这样我就可以检查这是否会破坏项目。

我看过很多地方,其中包括Project.CompilationOptions。项目构建的大多数选项都在那里,除了这个。

The CompilationOptions http://source.roslyn.io/#Microsoft.CodeAnalysis/Compilation/CompilationOptions.cs包含所有构建设置,例如警告级别等。但是TreatWarningsAsErrors不在这里。我是不是看错地方了?

我打开解决方案的方式类似于FormatSolution sample https://github.com/dotnet/roslyn/tree/master/src/Samples/CSharp/FormatSolution:

var solutionFile = @"C:\ties\src\playground\EnforceTreatAllWarningsAsErrors\EnforceTreatAllWarningsAsErrors.sln";

var workspace = MSBuildWorkspace.Create();
var solution = workspace.OpenSolutionAsync(solutionFile).Result;
var project = solution.Projects.Single();

// warning level is there
var warningLevel = project.CompilationOptions.WarningLevel;

// treat warnings as errors is not there... The following doesn't compile :(
bool treatWarningsAsErrors = project.CompilationOptions.TreatWarningsAsErrors;

您正在寻找

compilationOptions.WithGeneralDiagnosticOption(ReportDiagnostic.Error)

Source http://source.roslyn.io/#Microsoft.CodeAnalysis.CSharp.Workspaces/LanguageServices/CSharpHostBuildDataFactory.cs,173

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Roslyn 实际上允许您操作 CSharp 项目的 TreatWarningsAsErrors 吗? 的相关文章

  • InvalidOperationException - 对象当前正在其他地方使用 - 红十字

    我有一个 C 桌面应用程序 其中我连续创建的一个线程从源 实际上是一台数码相机 获取图像并将其放在 GUI 中的面板 panel Image img 上 这必须是另一个线程 如它是控件的代码隐藏 该应用程序可以工作 但在某些机器上 我会在随
  • 使用 std::packaged_task/std::exception_ptr 时,线程清理程序报告数据争用

    我遇到了线程清理程序 TSan 的一些问题 抱怨某些生产代码中的数据争用 其中 std packaged task 通过将它们包装在 std function 中而移交给调度程序线程 对于这个问题 我简化了它在生产中的作用 同时触发 TSa
  • 未提供参数时如何指定 C# System.Commandline 行为?

    在我的控制台应用程序中 当未提供控制台参数时 将执行我指定列表 在本例中为参数 3 的任何处理程序 调用该处理程序时 布尔参数设置为 false 但对我来说 根本不调用它更有意义 如何防止这种情况发生并显示帮助文本 using System
  • 注销租约抛出 InvalidOperationException

    我有一个使用插件的应用程序 我在另一个应用程序域中加载插件 我使用 RemoteHandle 类http www pocketsilicon com post Things That Make My Life Hell Part 1 App
  • 如何在c++中读取pcap文件来获取数据包信息?

    我想用 C 编写一个程序来读取 pcap 文件并获取数据包的信息 例如 len sourc ip flags 等 现在我找到了如下代码 我认为它会帮助我获取信息 但是我有一些疑问 首先我想知道应该将哪个库添加到我的程序中 然后什么是 pca
  • ClickOnce 应用程序错误:部署和应用程序没有匹配的安全区域

    我在 IE 中使用 FireFox 和 Chrome 的 ClickOnce 应用程序时遇到问题 它工作正常 异常的详细信息是 PLATFORM VERSION INFO Windows 6 1 7600 0 Win32NT Common
  • 在 LINQ 中按 Id 连接多表和分组

    我想按categoryId显示列表产品的名称组 这是我的代码 我想要我的视图显示结果 Desktop PC HP Red PC Dell Yellow PC Asus Red SmartPhone Lumia 720 Blue 我的组模型
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • 为什么调用非 const 成员函数而不是 const 成员函数?

    为了我的目的 我尝试包装一些类似于 Qt 共享数据指针的东西 经过测试 我发现当应该调用 const 函数时 会选择它的非 const 版本 我正在使用 C 0x 选项进行编译 这是一个最小的代码 struct Data int x con
  • 是否有实用的理由使用“if (0 == p)”而不是“if (!p)”?

    我倾向于使用逻辑非运算符来编写 if 语句 if p some code 我周围的一些人倾向于使用显式比较 因此代码如下所示 if FOO p some code 其中 FOO 是其中之一false FALSE 0 0 0 NULL etc
  • 我可以使用 moq Mock 来模拟类而不是接口吗?

    正在经历https github com Moq moq4 wiki Quickstart https github com Moq moq4 wiki Quickstart 我看到它 Mock 一个接口 我的遗留代码中有一个没有接口的类
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • 为什么 gcc 抱怨“错误:模板参数 '0' 的类型 'intT' 取决于模板参数”?

    我的编译器是gcc 4 9 0 以下代码无法编译 template
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类
  • 使用 .NET Process.Start 运行时挂起进程 - 出了什么问题?

    我在 svn exe 周围编写了一个快速而肮脏的包装器来检索一些内容并对其执行某些操作 但对于某些输入 它偶尔会重复挂起并且无法完成 例如 一个调用是 svn list svn list http myserver 84 svn Docum
  • 当从finally中抛出异常时,Catch块不会被评估

    出现这个问题的原因是之前在 NET 4 0 中运行的代码在 NET 4 5 中因未处理的异常而失败 部分原因是 try finallys 如果您想了解详细信息 请阅读更多内容微软连接 https connect microsoft com
  • 从列表中选择项目以求和

    我有一个包含数值的项目列表 我需要使用这些项目求和 我需要你的帮助来构建这样的算法 下面是一个用 C 编写的示例 描述了我的问题 int sum 21 List

随机推荐

  • 如何从图像中检测机器人方向?

    我正在开发可以在玉米植株中运行并由罗盘传感器引导的机器人 但我想将相机用作机器人的眼睛 并使用图像处理来检测运动的误差角度 这是图像示例 processed image raw image segmented image 我使用以下步骤 步
  • 为什么 cin 将我的双精度输入转换为整数? C++

    我有以下代码 int variable 1 variable 2 cout lt lt Please enter the 2 numbers try if cin gt gt variable 1 throw Invalid number
  • CriteriaBuilder. 和 & CriteriaBuilder.or,如何操作?

    我正在尝试更改以下 HQL 以使用 JPA Criteria select distinct d from Department d left join fetch d children c where d parent is null a
  • 如何告诉 Visual Studio 不要填充设计器代码中的字段?

    我有一个自定义控件 当我将其拖到表单上时 会创建以下 Designer cs 代码 colorPickerBackground this colorPickerBackground Color Color Empty this colorP
  • 主线程上的 Okhttp 响应回调

    我创建了一个帮助程序类来处理我的应用程序中的所有 http 调用 它是 okhttp 的一个简单的单例包装器 如下所示 我省略了一些不重要的部分 public class HttpUtil private OkHttpClient clie
  • 在RelativeLayout中获取子视图

    我想在我的活动中添加一个按钮 该按钮将返回相对布局的所有子视图 如何获取相对布局视图的所有子视图 RelativeLayout延伸ViewGroup其中有getChildCount and getChildAt int index 方法 所
  • 使用命令行编译 C++ 代码

    我使用下面的命令来编译我的 C 代码 它使用 OpenCV 库 我的命令就像 opencv main cpp o binary name 其中 opencv 是一个别名命令 例如 alias opencv g pkg config cfla
  • 使用 YoutubeURL 获取 oembed 返回 403 Forbidden

    这几天 我突然收到来自 403 Forbidden 的回复https www youtube com oembed url youtubeURl 我检查了Youtube API的文档 但我找不到它对oembed有限制并且也有授权 我只能看到
  • 在 bash 中将 HH:MM:SS.mm 转换为秒

    我正在运行一些 gnu 时间脚本 它们会生成以下形式的输出 mm ss mm 分 秒和毫秒 例如 1 20 66 或 hh MM ss 小时 分钟和秒 例如 1 43 38 我想将其转换为秒 以便比较它们并将它们绘制在图形中 使用 bash
  • Silverlight:如何在代码后面更改AxisLabelStyle?

    在 xaml 文件中 我们可以通过执行以下操作来更改 AxisLabelStyle
  • Java Servlet API 向后兼容吗?

    我想编写一个使用 javax servlet API 的 JAR 文件 如果我针对 2 2 版本编写 是否意味着它可以在 2 3 2 4 和 2 5 版本上工作 Thanks 是的 它们是向后兼容的 甲骨文来源 http docs orac
  • 面向对象设计实践问题[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 过去几年我几乎只开发 C 代码 我目前正在寻求提高我的面向对象设计技能 任何人都可以推荐任何包含一系列简
  • 如何在 Kerberos 中“取消模拟”(取消委托?)

    我有一个使用 Kerberos 的 Web 应用程序来使用 ASP NET 3 5 和 IIS 访问外部资源 当用户连接到应用程序时 Kerberos 身份验证会自动允许我使用委派作为用户连接到外部资源 这并不容易做到 这很好 但我有一个问
  • .net 正则表达式用于超过 2 个连续字母

    我正在尝试为 2 个以上的连续字母编写 Net 正则表达式 aa fine Aa fine aaa not allowed Aaa not allowed 我是正则表达式的新手 但这是我到目前为止所拼凑的 if Regex IsMatch
  • uwp命令栏始终显示标签

    Answer 谢谢贾斯汀XL https stackoverflow com users 231837 justin xl我能够解决我的问题 我实现了他在下面的回答中提供的样式 并按照他的说法在 App xaml 中添加了这一点 我将高度更
  • 在 Android 上点击后退按钮时关闭应用程序

    所以我的登录活动是您看到的第一个屏幕 当您点击后退按钮时 它会退出应用程序 很好 所以我再次打开应用程序 登录后 我现在处于我的主要活动中 我该如何做到这一点 以便当我现在点击后退按钮时 它会退出应用程序而不是返回到登录活动 当您推送新活动
  • git分支、fork、fetch、merge、rebase和clone之间有什么区别?

    我想了解 Git 中分支 分叉和克隆之间的区别 同样 当我做一个时 这意味着什么git fetch与git pull 另外 什么是rebase与 相比 意味着merge 我怎样才能将个人的承诺压缩在一起 它们如何使用 为什么使用以及它们代表
  • 从另一个对象向 stdClass 对象添加属性

    我希望能够执行以下操作 obj new stdClass obj gt status success obj2 new stdClass obj2 gt message OK 如何扩展 obj 使其包含 obj2 的属性 例如 obj gt
  • 错误:未定义配置属性“mongoURI”

    我尝试启动一个项目 但是当我尝试将 mongo 连接到服务器时 我遇到一个错误 显示连接不起作用 因为它找不到连接字符串所在的文件夹 我的数据库文件 const mongoose require mongoose const config
  • Roslyn 实际上允许您操作 CSharp 项目的 TreatWarningsAsErrors 吗?

    我正在尝试检索设置 TreatWarningsAsErrors 但无法为我加载的解决方案的项目找到它 我想要完成的是从项目文件中获取设置 并将其设置为true 如果还没有的话 接下来 我想让 Roslyn 使用新设置进行编译 这样我就可以检