[英]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.