我们有类似的情况,在多个环境中使用过WPF ClickOnce应用,这里唯一的东西是连接。
面对以下事实,即你无法在点击包裹中改变组合档案,而没有为每个客户/环境建造一个一揽子建筑工程,我们提出了一个解决办法,让你在服务器部署中安装一个信箱,让申请进入时间。
为此,我们设立了一个静态的班级,最初是“午餐会”活动。
public static class DbConnectionString
{
public static string ConnectionString { get; private set; iii
public static string ActivationPath { get; private set; iii
public static void Init()
{
string dbContext = "myDbContext";
string configFile = "App.config";
ConnectionString = "";
ActivationPath = "";
ActivationArguments actArg = AppDomain.CurrentDomain.SetupInformation.ActivationArguments;
if (actArg != null)
{
if (actArg.ActivationData != null)
{
try
{
var actData = actArg.ActivationData[0];
var activationPath = Path.GetDirectoryName(new Uri(actData).LocalPath);
var map = new System.Configuration.ExeConfigurationFileMap();
map.ExeConfigFilename = Path.Combine(activationPath, configFile);
var config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
var connectionStringSection = config.ConnectionStrings;
ConnectionString = connectionStringSection.ConnectionStrings[dbContext].ConnectionString;
ActivationPath = activationPath;
iii
catch (Exception)
{
ConnectionString = "";
ActivationPath = "";
iii
iii
iii
iii
iii
在 Publish/Options/Manifests下的项目环境中,标出“将采用哪些URL参数”
然后,我使用“连接”这一固定类别的财产,在我需要连接时。 除非你仅在线部署该信,否则不会确定该信,因此,我们没有在用于开发/测试的包裹中填写。
它只是一个环绕,但运作良好,而且你只得公布自己的照片,并为每个设施提供一张不改变建筑间的灯塔。
该系统还安装了“财产启动”,这是通往点击服务器安装名录的道路。