[英]UWP App works in Visual Studio debug mode, but the release build won't run, missing DLL (C#)
[英]Visual Studio C# app won't build with debugging info
我的 C# WPF 应用程序无法使用 Visual Studio 2017 加载符号文件。我在网上查看并检查了常见问题,但无法调试我的应用程序。 这是新的行为。 作为多项目解决方案的一部分,它一直在工作(至少几个月前)。 我不知道发生了什么变化。
我在 Main() 之后设置了一个断点,它显示为纯红色,直到我尝试在调试配置中运行。 由于断点没有停止执行,所以我明确地中断了。
[STAThread]
static int Main(string[] args)
{
Application.EnableVisualStyles(); // breakpoint on this line
Application.SetCompatibleTextRenderingDefault(false);
Debugger.Break();
现在运行时,它会弹出“未加载符号文件”并显示“二进制文件未使用调试信息构建”。
在“构建”窗格中检查“活动(调试)”配置项目属性,我看到了
[x] Define DEBUG constant
[x] Define TRACE constant
[ ] Optimize code
并在“高级构建设置”对话框中
Debugging Information: Full
运行 Build->Clean,然后 Build->Rebuild,我看到在 bin/Debug/ 目录中新创建的 app.exe 和 app.pdb 文件。 删除 bin/ 和 obj/ 目录并重建时,尝试调试应用程序时仍然出现相同的错误。
当我查看调试 output 以及各种加载的 Windows DLL 和符号时,我看到我的应用程序带有“模块是在没有符号的情况下构建的”。
从 Debug->Windows->Modules window 我看到我的应用程序显示“优化:否”和“符号状态:二进制文件未使用调试信息构建”。 在同一个 window 中,我右键单击我的应用程序,选择“加载符号”并选择 bin/Debug/app.pdb 文件。 它说,“在此文件夹中找不到匹配的符号文件”。
我要疯了,想弄清楚这一点。 似乎应该使用调试信息构建它,但事实并非如此。 谁能指出我正确的方向?
我要疯了,想弄清楚这一点。 似乎应该使用调试信息构建它,但事实并非如此。 谁能指出我正确的方向?
这是一个很奇怪的问题。 我想你可以试试这些建议
建议
1)请检查Assembly Name(右键单击project--> Application
)是否有空格,如果有的话,你应该删除空格并重新构建以测试它。
2)通过右键单击 project--> Build启用定义 DEBUG 常量和定义 TRACE 常量。
3)在工具-->选项-->调试-->常规下启用选项启用我的代码并使用托管兼容模式
4)检查你的xxx.csproj
文件是否有<DebugType>full</DebugType>
节点。 如果没有,您可以将其添加到xxx.csproj
中:
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<DebugType>Full</DebugType>
</PropertyGroup>
5)关闭VS Instance,删除解决方案文件夹下的.vs
隐藏文件夹,bin和obj文件夹。 然后重新启动您的项目以再次测试。
6)如果你安装了几个 nuget 包,你可以在 Tools-->Nuget Package Manager-->Nuget Package Console下运行这个命令:
update-package -reinstall
7)在工具-->扩展和更新下禁用任何第三方扩展,以防某些扩展导致此行为。 并且不要忘记重新启动VS。
8)如果您的VS有任何最新更新,请更新它。
此外,
If the new created wpf VS2017 project can be debugged successfully and your wpf project is an old project from the old VS version, I suggest you could create a new wpf project in VS2017 and then migrate the old into the new one to test whet.
您可以将旧项目中的packages.config
文件复制到新项目的根目录中,然后运行update-package -reinstall
以自动将这些包引用到您的项目中。
任何反馈都将被期待。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.