如何部署.NET exe但仍在其他位置使用pdb文件?我担心保持与相同位置的exe可能会导致最终用户意外删除pdb。但是,我们希望在用户遇到错误时查看错误详细信息(例如模块,行号)。如果有另一种方法在没有.pdb的情况下获取此信息,请告诉我。提前谢谢!
答案 0 :(得分:1)
您可以通过在应用程序启动时设置环境变量_NT_SYMBOL_PATH来实现。搜索调试符号时,将检查此环境变量(如果有)的路径是否为.pdb文件。将符号放在某个文件夹中(假设是“%localappdata%\ MyApp \ Symbols”),然后执行:
var symbolsPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "MyApp", "Symbols");
Environment.SetEnvironmentVariable("_NT_SYMBOL_PATH", symbolsPath);
答案 1 :(得分:0)
This answer描述了一种在没有pdb的情况下获取该信息的方法,并且需要一些构建时间。
我建议用户不要对您安装应用程序的文件夹删除权限(例如:Program Files?)如果他们这样做,或者他们是管理员,没有什么可以阻止他们删除pdb或exe的问题。