即使在同一Visual Studio项目中有MyClass.cs的名称存在类文件,是否会在运行时使用类文件MyClass.cs.bak?Visual Studio 2012中带有.bak扩展名的类文件
这两个文件都包含在项目中。该项目是Web应用程序类型,因此部署时所有内容都编译成单个dll。我不确定在编译过程中,.bak文件是否被忽略。
我正在使用Visual Studio中的一个项目,其中一些过去的开发人员已将这两个文件包含在项目中。
即使在同一Visual Studio项目中有MyClass.cs的名称存在类文件,是否会在运行时使用类文件MyClass.cs.bak?Visual Studio 2012中带有.bak扩展名的类文件
这两个文件都包含在项目中。该项目是Web应用程序类型,因此部署时所有内容都编译成单个dll。我不确定在编译过程中,.bak文件是否被忽略。
我正在使用Visual Studio中的一个项目,其中一些过去的开发人员已将这两个文件包含在项目中。
据我所知(检查),由默认,一个*.bak
文件不视为一个VS工程C#类文件。它只是另一个文本文件,它不作为class
模块编译到程序集中 - 顺便说一句,为什么你不会得到重复的类名声明异常。
您可以随时告诉VS将其视为可编译的c#文件:属性 - >构建操作 - >编译。
它只是看起来像一个备份(bak)源文件 - 只是为了历史目的,我假设。
如果您在解决方案资源管理器中单击该文件并查看属性窗口,您会看到一个名为“构建操作”的属性。它定义了文件是否被视为代码(“编译”),包含为资源(“嵌入式资源”),或被忽略(“无”)。
将文件添加到项目时,将根据文件扩展名选择默认的Build Action。对于.bak
文件,对C#项目没有特别的意义,应该选择默认的“None”,编译项目时文件将被忽略。
优秀的解释。当我尝试你的建议检查时,我发现该文件有一个内容生成行为。 – Sunil
很可能只是一个应该从项目中排除的备份文件。你有没有将它与另一个文件区分开来并看到差异? – Lloyd
@劳埃德 - 只有一条线有所不同。但是我们使用源代码控制,那么为什么有人甚至会想到创建一个.bak文件。 – Sunil
VS.net有一定的文件扩展名,它会查找项目中的所有文件,如果它知道扩展名,它会尝试使用它。如果'bak'扩展名对于Visual Studio来说意味着什么,它将尝试以某种方式处理它。但它绝对不是代码文件扩展名。代码文件可以是'* .cs','.vb','* .ashx'(针对网页)等。检查'bak'文件的构建动作。如果有的话,我会认为这是与数据库相关的文件扩展名。 –