首页 > 解决方案 > 是否存在仅解析和类型检查的 C# 构建目标?

问题描述

我有一个大型 C# 代码库并且正在进行大量重构,并且无法在 Visual Studio 2017 中一次打开整个代码库。因此,我只能对尽可能多的代码库进行重构,然后使用 MSBuild 和查找编译错误以捕获对旧对象的散乱引用。

为了更快地进行这些重构,是否有一个 C# 构建目标或选项不费心生成任何 IL,而只是检查 C# 是否正确解析并正确使用它引用的任何类型?如果 MSBuild 不将其作为第一方选项提供,它是否可以由第三方实现,或者是否无法在不生成程序集的情况下进行类型验证?

编辑:我本质上是在寻找 Rust 的 C# 等价物cargo check,它对项目进行所有静态分析,但不执行代码生成步骤。

标签: c#msbuild

解决方案


您可以尝试将您的代码编译为参考程序集。这仍然会发出程序集,但方法的主体都是占位符(相当于throw null),不打算执行。这可以加快您的编译周期,因为编译器不需要在代码分析后生成任何 IL。


推荐阅读