#if DEBUG
mailMessage = new MailMessage("someEmail.com", "someEmail.com", subject, messsageBody);
#else
mailMessage = new MailMessage(Membership.GetUser().Email, cppAccount.Email, subject, messsageBody);
#endif
我有上面的代码,但即使我在发布时发布它仍然使用debug语句。这是一个mvc4 c#项目,这段代码在我的一个模型类中。
答案 0 :(得分:2)
这不是做你正在尝试的最好方法。 您应该在web.config中使用应用程序设置执行此操作。
<add key="MailMessageEnabled" value="true" />
然后在你的cs文件中执行类似的操作 -
bool isEnabled = bool.Parse(ConfigurationManager.AppSettings["MailMessageEnabled"]);
mailMessage = isEnabled ? new MailMessage(Membership.GetUser().Email, cppAccount.Email, subject, messsageBody)
: new MailMessage("someEmail.com", "someEmail.com", subject, messsageBody);
您可以在默认Web配置中将配置的值设置为true,在发布Web配置中设置为false
答案 1 :(得分:1)
正如MoXplod所说,您应该在web.config文件中执行此操作但我认为最好使用Transformation,这样您就可以使用您开发和web中所需的值来调试您的web.config文件。 .config您可以拥有PROD环境中所需的值。有关转化的信息,请查看http://msdn.microsoft.com/en-us/library/dd465326(v=vs.110).aspx。