在运行时更改嵌入式资源文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在运行时更改嵌入式资源文件相关的知识,希望对你有一定的参考价值。

我有一个程序,它使用资源(嵌入式TEXT文件)进行程序默认配置。我希望能够允许用户更改此默认行为。我想知道如何修改嵌入式资源文件,以便使用以下时间程序,它将使用修改后的版本。

感谢帮助

答案

我认为你要找的是一个settings文件。嵌入的资源被编译到您的exe / dll中,并不打算进行修改。

另一答案

这里有一种更新嵌入在项目中的文件的方法,这里是一个xml文件的例子。您可以根据需要将其更改为txt文件

string path = Path.Combine(
Environment.GetFolderPath(
Environment.SpecialFolder.ApplicationData), 
Application.CompanyName);

path = Path.Combine(path, Application.ProductName);
path = Path.Combine(path, subFolder);
path = Path.Combine(path, "fileName.xml");

if(!File.Exists(path)){
    Assembly thisAssembly = Assembly.GetExecutingAssembly();
    Stream rgbxml = thisAssembly.GetManifestResourceStream(
"YourNamespace.fileName.xml");          
    XmlDocument doc = new XmlDocument();
    doc.Load(rgbxml);

    doc.PreserveWhitespace = true;
    doc.Save(path);

查看完整文章:SAVING AN EMBEDDED RESOURCE XML FILE AT RUNTIME IN C#

另一答案

您最好尝试使用“属性”保存设置,例如:Properties.Settings.Default

要添加属性,请在解决方案资源管理器中右键单击 - >属性 - >设置(选项卡)

然后添加您需要的任何内容,然后在.Default的代码访问中添加

要在运行时保存更新设置,请使用以下命令:Properties.Settings.Default.Save()

希望这可以帮助

以上是关于在运行时更改嵌入式资源文件的主要内容,如果未能解决你的问题,请参考以下文章

如何强制CMake重新链接项目资源变化?

SwiftUI Toggle 更改值时运行代码

安卓片段。在屏幕旋转或配置更改期间保留 AsyncTask

更改片段中按钮的文本

如何在屏幕方向更改时附加片段?

如何在运行时更改 CurrentCulture?