我想知道为我的 C# winforms 项目正确创建开发和生产环境的最佳方法是什么。不幸的是没有开发环境。相反,每次我希望创建生产或开发版本时,我都必须指定发布路径。此外,由于每个产品或开发版本都使用不同的连接字符串,因此我也必须进入代码并更改它。
EDIT我想补充的另一件事是,可以说“测试人员”将从本地 .exe 运行程序,该程序将查看源文件并检测是否需要进行更新。我提到这一点的唯一原因是测试人员不会在“调试”模式下运行代码。
有任何想法吗?
提前致谢!
UPDATE
唷,2009 年确实是很久以前的事了;)我将把最初的答案留给后人,但是,正如Eric J. 已在 2012 年帖子的更新版本中指出 https://stackoverflow.com/a/1343397/130480, 慢猎豹 https://www.nuget.org/packages/SlowCheetah/是解决此问题的更灵活的方法,因为它允许您为每个配置创建多个配置文件。
原答案
我无法回答发布部分,因为我不确定是否可以完成。但是,对于连接字符串部分,您可以创建一个“连接字符串提供程序类”,如果您处于开发阶段,它将返回开发连接字符串;如果您处于生产阶段,它将返回生产连接字符串。
我不知道您是否在配置管理器中使用“调试”和“发布”编译模式,但可以将其与预编译器指令一起使用:
public class ConnectionStringProvider
{
public static string GetConnectionString()
{
#if (DEBUG)
return DevConnectionString;
#else
return ProdConnectionString;
#endif
}
}
如果您使用 VS2005 设置窗格(在项目设置中),您可以在其中设置 2 个连接字符串并使用它来代替常量值。如果您使用任何 .Net 数据源,则可以始终使用 DEV 连接字符串来创建对象。
另外,连接字符串提供程序可以使用单例模式,但我不确定是否会有真正的好处。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)