我有一些代码工作得很好。我写了一个文件,我写了一个XML文件,当我构建它并从Debug文件夹运行.exe时,所有内容都没有问题。当我发布安装程序时出现问题,我收到IO错误,找不到文件异常。
/// <summary>
/// Injects new user data into credentials XML
/// </summary>
/// <param name="username"></param>
/// <param name="password"></param>
/// <param name="xmlSource"></param>
public static void AddUser(string username, string password)
{
string xmlPath = Path.Combine(Environment.CurrentDirectory, @"Data\Credential.xml");
XDocument doc = XDocument.Load(xmlPath);
XElement user = doc.Element("Users");
user.Add(new XElement("User",
new XElement("username", username),
new XElement("password", password)));
doc.Save(xmlPath);
}
xmlPath获取当前目录并附加Data
目录,最后链接到XML文件。只有在我执行clickonce安装程序时才会导致崩溃的原因是什么?我是否需要将资源类型更改为特殊内容?
答案 0 :(得分:0)
您是否尝试获得装配的实际路径?如下所示
var path = System.Reflection.Assembly.GetExecutingAssembly().Location;
var dir= Path.GetDirectoryName(exePath);
var youdatafolder = Path.Combine(dir, "/Data");
您可以尝试捕获IOException并查看该文件夹使用当前代码查找的内容。它可能会给你一些提示。