C# 是否忽略特定子文件夹的C编译警告?
如何在不更改源代码文件*.cs的情况下选择性地忽略文件夹级别的编译器警告?在下面的玩具示例中,我只想忽略CS0001,因为Lib1已经检查过了,但其他地方都没有,因为它们可能无法查看。现在我只能在项目级别忽略编译器警告。或者我需要将pragma添加到源代码中,这使得我的源代码不同于我们无法直接使用或链接的库存储库上游C# 是否忽略特定子文件夹的C编译警告?,c#,visual-studio,compiler-construction,C#,Visual Studio,Compiler Construction,如何在不更改源代码文件*.cs的情况下选择性地忽略文件夹级别的编译器警告?在下面的玩具示例中,我只想忽略CS0001,因为Lib1已经检查过了,但其他地方都没有,因为它们可能无法查看。现在我只能在项目级别忽略编译器警告。或者我需要将pragma添加到源代码中,这使得我的源代码不同于我们无法直接使用或链接的库存储库上游 Project +-LibSrc +-Lib1 // Ignore CS0001 here +-Lib2 // Ignore CS0002 here +-
Project
+-LibSrc
+-Lib1 // Ignore CS0001 here
+-Lib2 // Ignore CS0002 here
+-Lib3
我希望有某种项目设置或文件夹中的某些文件位置可以向C工具发出信号。您可以选择要忽略的文件,在“文件属性”中将“生成操作”设置为“无”。编译器将忽略来自文件和生成的警告
创建两个项目,一个包含所有要忽略警告的lib,另一个包含所有其他代码。多个项目生成多个.dll。需要生成一个DLL,这就是为什么它甚至在上面的文件夹结构中。您可以使用ILMerge合并这两个DLL。另外,两个dll可以有相同的名称空间,所以这里没有问题,这是不可能的。CS0001是一个永远不能忽略的编译器崩溃。不引用真实的警告数字对我们没有帮助。不幸的是,这不能解决问题,因为有问题的文件仍然需要编译。