C# 生成具有预定义设置的exe
如果我在标题中问得不对,我表示歉意。。我不知道该怎么问,也不知道我需要什么 - 假设我有一个名为“TestApp”的简单应用程序,它是用C#编写的 在该应用程序中,我有以下变量:C# 生成具有预定义设置的exe,c#,.net,vb.net,C#,.net,Vb.net,如果我在标题中问得不对,我表示歉意。。我不知道该怎么问,也不知道我需要什么 - 假设我有一个名为“TestApp”的简单应用程序,它是用C#编写的 在该应用程序中,我有以下变量: int clientid = 123; string apiurl = "http://somesite/TestApp/api.php"; 当我有一个新客户机时,我需要为他创建一个新的特殊TestApp.exe,更改代码中的'clientid'变量 有可能使这个过程自动化吗?要自动更改该变量并导出exe而不让我干扰
int clientid = 123;
string apiurl = "http://somesite/TestApp/api.php";
当我有一个新客户机时,我需要为他创建一个新的特殊TestApp.exe,更改代码中的'clientid'变量
有可能使这个过程自动化吗?要自动更改该变量并导出exe而不让我干扰该过程
-
我之所以问这个问题,是因为我认为/或者我确信这是可能的,因为下一个流行的例子:
- [它创建了一个特殊的.exe,带有从何处下载真实文件的预定义链接]
- [它将.torrent文件嵌入到一个特殊的.exe中,只需更改一些自定义变量,如torrent名称或下载大小]
再次,如果我问的问题不正确,并且我的英语很差,我会尽力道歉。所以你的问题有两个部分:
要进行自定义设置: 使用
AppSettings
首先,添加对System.Configuration
assembly的引用
在app.config文件中:
<configuration>
<appSettings>
<add key="ClientID" value="123" />
<add key="ApiUrl" value="http://somesite/TestApp/api.php" />
</appSettings>
</configuration>
自动创建设置: 这一切都取决于你想变得多复杂
- 构建项目时,您的
文件将变为app.config
TestApp.exe.config
- 您可以使用
类来编写配置文件李>ConfigurationManager
- 此外,您还可以编写一个小Exe,用自定义设置写入配置文件,并将其作为构建操作的一部分执行。许多实现自动化的方法取决于您打算如何部署应用程序
public static void CreateOtherAppSettings()
{
Configuration config =
ConfigurationManager.OpenExeConfiguration("OtherApp.config");
config.AppSettings.Settings.Add("ClientID", "456");
config.AppSettings.Settings.Add("ApiUrl", "http://some.other.api/url");
config.Save(ConfigurationSaveMode.Modified);
}
谢谢你的快速回答。但实际上我该如何部署应用程序呢?因为它是一个独立的.exe,所以有可能自动将user.config嵌入到exe中?您不需要将其嵌入到exe中,它始终是一个单独的配置文件。您可以为每个部署生成配置文件,我已经更新了答案,正在编写一个示例。@user3280998:请参阅更新的答案和示例。这应该给您足够的时间来运行它,并找出如何最好地生成配置。我不知道你的项目是否更具体,但我已经为你列出了几个选项和例子。谢谢!这对我帮助很大,你真是太棒了,大卫!
public static void CreateOtherAppSettings()
{
Configuration config =
ConfigurationManager.OpenExeConfiguration("OtherApp.config");
config.AppSettings.Settings.Add("ClientID", "456");
config.AppSettings.Settings.Add("ApiUrl", "http://some.other.api/url");
config.Save(ConfigurationSaveMode.Modified);
}