我的网站运行正常,但是当我通过Build>重新发布它时发布网站,它说它在Debug配置中。我认为它应该是其他东西,比如“Release”,但在“工具”菜单下方的下拉列表中我无法使用该选项 - “Debug”是唯一可用的选项。注意:我确实在web.config中将debug设置为false。
如果我点击配置下拉列表,它确实有一个“配置管理器”菜单项,但这只是打开了同名对话框,该对话框中网格中的项目“记录”具有相同的功能 - 配置以“调试”作为唯一选项的下拉列表。
平台设置为“任何CPU”(这是一个ASP.NET站点/应用程序),选中Build复选框,Deploy不是(并且不会让我检查它,大概是因为Configuration == Debug)
那么如何将我的项目/网站更改为发布模式?
好吧,这看起来很奇怪。根据Arma的评论/建议,我搜索了* .sln文件;我在C:\ Users \ Clay \ Visual Studio 2012 \ Projects \中找到了.sln,但C:\是项目实际保存的地方。
然而的* .sln文件确实具有今天的最后修改日期。为什么.sln在一个地方,项目在另一个地方,但两个地方的文件都在更新?
在Arma的要求/要求下,这里是解决方案资源管理器的一个尖叫镜头(大部分,无论如何):
似乎Visual Studio已将我的项目文件分散到两个不同的位置 - 它是首选/默认位置(C:\ Users \ Clay \ Visual Studio 2012 \ Projects \)以及我指定项目的位置要创建(我创建的根目录下面的文件夹)。如果这就是为什么我有这个奇怪的问题(Debug是我唯一的配置选项),我需要知道如何纠正它,以及如何在将来避免它。尽快(明天)我会提出这个问题。如果有人在他们之前回答,我会产生一个事后的赏金并奖励给他们。
答案 0 :(得分:5)
发布配置文件中的构建配置对于网站项目无关紧要,它只对Web应用程序项目有用。见http://msdn.microsoft.com/en-us/library/dd465337.aspx
“此设置对网站项目没有任何影响。对于网站项目,您将看到Debug列为构建配置,但在动态编译网站项目时无效。有关详细信息,请参阅,请参阅Web Application Projects versus Web Site Projects in Visual Studio。“
答案 1 :(得分:3)
您可以从选项中启用此功能,以在Visual Studio解决方案资源管理器中显示解决方案
Tools -> Options -> Projects & Solutions ->General-> check the checkbox "Always show solution"
然后right click the solutionFile in SolutionExplorer -> Choose OpenFolder in windows Explorer
打开确切的解决方案文件。
在进行任何更改之前,请确保保留解决方案文件的备份文件。
现在编辑解决方案文件,查找以下部分,然后添加为后续部分。
在:
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{97A7F977-AF9D-494E-AB65-32CCB9A06F30}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{97A7F977-AF9D-494E-AB65-32CCB9A06F30}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8C498C19-A5BB-41A2-BA03-B2DC384EB605}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8C498C19-A5BB-41A2-BA03-B2DC384EB605}.Debug|Any CPU.Build.0 = Debug|Any CPU
EndGlobalSection
<强>后:强>
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{97A7F977-AF9D-494E-AB65-32CCB9A06F30}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{97A7F977-AF9D-494E-AB65-32CCB9A06F30}.Debug|Any CPU.Build.0 = Debug|Any CPU
{97A7F977-AF9D-494E-AB65-32CCB9A06F30}.Release|Any CPU.ActiveCfg = Release|Any CPU
{97A7F977-AF9D-494E-AB65-32CCB9A06F30}.Release|Any CPU.Build.0 = Release|Any CPU
{8C498C19-A5BB-41A2-BA03-B2DC384EB605}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8C498C19-A5BB-41A2-BA03-B2DC384EB605}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8C498C19-A5BB-41A2-BA03-B2DC384EB605}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8C498C19-A5BB-41A2-BA03-B2DC384EB605}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
这里“97A7F977-AF9D-494E-AB65-32CCB9A06F30”和“8C498C19-A5BB-41A2-BA03-B2DC384EB605”是ProjectIds,这可能是不同的你的情况。在这种情况下,我的解决方案中只有2个项目。 您必须为此解决方案中的每个项目执行此操作。 希望这会有所帮助。
答案 2 :(得分:3)
您的解决方案和项目文件位于不同位置并不重要。要解决此问题,只需移动解决方案文件并通过更新项目文件的路径来编辑其XML。
我认为您正在寻找的答案是发布版本配置的方法,其中使用debug =“false”部署web.config。这是对的吗?
您是否尝试在Configuration Manager中添加新的Release配置?这应该在Web.config文件下生成Web.Release.config转换文件(如果没有,则右键单击Web.config并选择Add Config Transforms)。然后看一下使用转换语法(http://msdn.microsoft.com/en-us/library/dd465326.aspx)来准确定义您希望部署的发布版本的Web.config包含哪些内容。您的Web.Release.config将如下所示:
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.web>
<compilation debug="false" xdt:Transform="Replace" />
</system.web>
</configuration>
P.S。我喜欢“尖叫镜头”的概念:)
答案 3 :(得分:2)
我不确定但是在您的项目文件夹中打开Web.config并将debug =“true”更改为debug =“false”,然后保存并上传它。它有用吗?! 如果它不起作用,请在此处写下您的错误以获取更多建议。 (我很抱歉我说英语不好) 。 。 。 。 我忘了!打开项目.sln文件,双击解决方案资源管理器中的“我的项目”,左侧选择编译,顶部选择配置模式