0
我有一個Win Forms C++解決方案,最初使用Visual Studio 2003創建,轉換爲2008(成功),現在我試圖將其轉換爲Visual Studio 2010缺少清單異常Visual Studio 2010項目轉換爲2003,2008
該解決方案的構建沒有錯誤,然後在運行時嘗試從窗體的資源加載圖像列表時出現缺失的清單異常。唯一的例外發生在下面的代碼行:
this->m_imageList->ImageStream = (__try_cast<System::Windows::Forms::ImageListStreamer * >(resources->GetObject(S"m_imageList.ImageStream")));
我想我已經發現了這個問題,如果我考察使用2008彙編我看到窗體的資源下面的反彙編清單:
.mresource public SDTP.SDTPDataMonitorForm.resources
{
// Offset: 0x00000000 Length: 0x00006DB0
}
清單爲2010年裝配顯示如下:
.mresource public SDTPnet.SDTPDataMonitorForm.resources
{
// Offset: 0x00000000 Length: 0x00004F57
}
.mresource public '..\\temp\\Debug\\SDTP.SDTPDataMonitorForm.resources' as '..$temp$Debug$SDTP.SDTPDataMonitorForm.resources'
{
// Offset: 0x00008E80 Length: 0x00004F57
}
我敢肯定,它無法找到它由於在一審額外的「網」的文字,而額外的.. $臨時$得不克在第二個例子。
最後,我的問題是:在項目設置中的哪個位置可以解決這個問題?該.. \ TEMP \調試是項目路徑的一部分......逛了一下打,如果我改變「中間目錄」設置爲只$(配置)我現在得到:
.mresource public 'Debug\\SDTP.SDTPDataMonitorForm.resources' as Debug$SDTP.SDTPDataMonitorForm.resources
{
// Offset: 0x00008E80 Length: 0x00004F57
}
在清單文件這仍然會產生異常。
感謝您的幫助......
想通了:右擊.resx文件,並選擇屬性和編輯「資源邏輯名稱」 –