【发布时间】:2013-05-17 10:36:20
【问题描述】:
我需要使用用户提交的值写入我的 resx 文件。
基本上用户输入一个值,程序必须检查 resx 文件以查看该数字是否存在。如果该编号不存在,则将其添加到文件中。
这是我到目前为止的代码,但它似乎不起作用:
if (!DictOfSyndicates.Contains(syndicateNumberTextBox.Text))
{
try
{
var resxWriter = new ResXResourceWriter(@".\Syndicates.resx");
resxWriter.AddResource("test", syndicateNumberTextBox.Text);
resxWriter.Close();
MessageBox.Show(@"Sydicate "+syndicateNumberTextBox.Text +@" Added Successfully.");
}
catch (FileNotFoundException caught)
{
MessageBox.Show(@"Source: " + caught.Source + @" Message: " + caught.Message);
}
}
else
{
MessageBox.Show(@"Syndicate already exists");
}
有人知道出了什么问题吗?
【问题讨论】:
-
你有什么异常吗?我们应该如何猜测出了什么问题?
-
我没有得到任何异常。当我单步执行它时,它进入 if try 块并说它添加了它,但是,DictOfSyndicates 没有显示它正在添加。 DictOfSyndicates 确实会读取 .res 文件,因为它会拾取已经存在的数据
-
您是从 Visual Studio 还是在 Debug 文件夹中检查项目中的文件?
-
@shrytyzet 我要写入的文件是 Sydicates.resx,它现在位于解决方案资源管理器中,就像所有类和东西所在的位置一样。仍然没有得到这个工作。
-
我认为文件的路径不正确。在您的情况下,bin 文件夹中应该有一个 Syndicates.resx。尝试使用绝对路径。