【发布时间】:2016-05-04 13:38:40
【问题描述】:
这是一个愚蠢的问题。
我有一个包含许多配置的网络应用程序。为简单起见,我们假设 Qa 和 Local。
在我的每个项目中,每个配置都有一个 PropertyGroup,用于在选择 w 配置时定义设置。
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Qa|AnyCPU'">
<DeployIisAppPath>Default Web Site/</DeployIisAppPath>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<IncludeIisSettings>false</IncludeIisSettings>
<DebugSymbols>true</DebugSymbols>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Local|AnyCPU'">
<DebugType>full</DebugType>
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
所以基本上 Qa 被配置为尽可能优化,禁用调试,TRACE。这对我部署时有意义。 当我们需要调试 Qa 时,问题就来了。我将配置更改为 Qa 并将我的 web.config 更改为指向 Qa 配置。这样,VS 使用用于连接到 Qa 的连接字符串为 Qa 构建 bin 路径。这样做的副作用是它禁用了我所有项目的调试,我必须暂时将它们全部重新打开才能将断点设置为我需要的。这很糟糕,我想改变它。
是否可以只在所有这些项目配置上启用调试,然后在部署时使用某种工具来反转调试?我的第一个想法是添加一个转换来修改它,但是转换不能改变 csproj 文件,对吗?有没有其他工具可以做到这一点?
【问题讨论】:
标签: c# .net asp.net-mvc-4 transform