Web应用程序没有.cs文件就无法发布

8
我有一个asp.net Web应用程序项目,我通过Visual Studio 2013中的“生成->发布”发布它。我选择了使用预编译选项发布到文件系统。在“包/发布Web设置”屏幕上,我选择了“仅发布此应用程序所需的文件”。但不管我怎么做,.cs文件(与代码相关的文件)和designer.cs文件都会在发布期间复制到输出文件夹。
这个项目是通过在Visual Studio中使用“文件->新建项目->ASP.NET Web应用程序”功能创建的。然后在应用程序中添加了网站项目的文件,并从构建菜单中运行了“转换为Web应用程序”命令。转换为Web应用程序似乎很好,但我无法在不包括.cs文件的情况下发布。
还需要做什么才能使Web应用程序在没有包括代码文件的情况下发布?您有什么想法可以参考吗?
可能会在解决方案级别设置中导致这种情况发生吗?新的Web应用程序已添加到具有大约十二个其他项目的预先存在的解决方案中。
另一件要注意的事情是,当我在新项目中使用Visual Studio创建一个新的Web应用程序并使用相同的设置发布时,它不会包括.cs文件。
我还尝试过删除然后创建一个新的发布配置文件。

点击其中一个 .cs 文件,然后查看属性网格(F4),以查看 .cs 文件的“生成操作”设置为什么。 - John Saunders
@JohnSaunders 构建操作 = 编译。 - Rafe
哦,这不是我预期的结果。是否有后构建步骤? - John Saunders
@JohnSaunders 不,没有后构建。 - Rafe
在我的情况下,所有文件都会发布到目标文件夹中,无论它们是否被标记为编译。这是使用与上面显示的相同设置。如果我创建一个新的项目文件并将所有相同的东西添加到其中,它将按预期发布。但是,这只是一个解决方法,而不是一个修复方法,因为要再次发生这种情况需要很长时间才能正确处理所有引用等等。 - Ed Bishop
你有没有想到解决方法? - BenCr
2个回答

5
我通过删除旧的发布配置文件并创建一个新的来解决了这个问题。新的看起来有和旧的相同的设置,但当我进行发布时,它没有复制.cs文件。
编辑:这个答案是错误的。两个配置文件之间有一个区别。新的配置文件是在发布状态下。
第二次编辑:项目设置中有一个可以确定发布内容的选项。请从以下页面选择“仅需运行此应用程序的文件”。 Publish Settings Page

2
原来我之前在尝试让项目能够在构建服务器上编译时,向我的csproj文件中添加了这行代码。删除它后问题得以解决:
<Target Name="GatherAllFilesToPublish"></Target>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接