是否在运行时使用类MyClass.cs.bak这样的类文件,即使在同一个Visual Studio项目中有一个名为MyClass.cs的类文件?
这两个文件都包含在项目中。该项目属于Web应用程序类型,因此在部署时,所有内容都会编译为单个dll。我不确定在编译期间是否会忽略.bak文件。
我正在使用Visual Studio中的一个项目,其中一些过去的开发人员已将这两个文件包含在项目中。
答案 0 :(得分:4)
如果在解决方案资源管理器中单击该文件并查看“属性”窗口,您将看到一个名为“构建操作”的属性。这定义了文件是被视为代码(“编译”),包含为资源(“嵌入式资源”)还是被忽略(“无”)。
将文件添加到项目时,将根据文件扩展名选择默认的“构建操作”。对于对C#项目没有特殊意义的.bak
文件,应选择默认的“None”,编译项目时将忽略该文件。
答案 1 :(得分:1)
据我所知(并检查),通过默认,*.bak
文件不被视为VS Project中的C#类文件。它只是另一个文本文件,它没有作为class
模块包含在程序集中 - 顺便说一下,为什么你没有得到重复的类名声明异常。
您可以随时告诉VS将其视为可编辑的c#文件:属性 - >构建行动 - >编译。强>
它看起来像一个备份(bak)源文件 - 仅用于历史目的,我假设。
答案 2 :(得分:1)
没有
.bak
文件被视为普通文本文件。
这很容易测试。创建一个新的类文件,类名为foo
。
现在创建一个新的.cs.bak
文件并输入相同的代码。
编译项目时,您会发现重复的类声明错误 - 这不会发生。