我已經在託管C++中創建了自定義UserControl,該自定義UserControl封裝了一些本機代碼控件。我已經確認了運行時的控件,並且一直試圖通過允許從設計器工具箱中拖放控件來使控件與Visual Studio設計器一起工作。System.IO.FileNotFoundException異常當試圖在設計器上的窗體上刪除UserControl
雖然我成功地將UserControl添加到工具箱,但是當我將控件拖到窗體上時沒有任何反應。爲了研究這個問題,我打開了第二個Visual Studio 2008實例,並將其調試器附加到了我試圖使用UserControl的devenv.exe實例中。將UserControl放到Windows窗體上後,Visual Studio調試器在嘗試加載包含UserControl的模塊時,會在mscorlib.dll中輸出FileNotFoundException。
我注意到,設計者不加載從項目的輸出路徑的dll,而是創建組件在%的UserData%\ VisualStudio的\ 9.0 \ ProjectAssemblies \ RandomFolderName文件夾的副本。但是,沒有模塊的依賴關係被複制,我相信這是FileNotFoundException的來源。
任何想法如何解決這個問題?理想情況下,Vistual Studio會在將dll複製到ProjectAssemblies文件夾時複製所有程序集的依賴關係,但我無法找到任何方法來實現此目的。
我很害怕這樣的情況。將文件複製到系統目錄對我來說不是理想的解決方案,並且由於Visual Studio設計器每次在表單上放置實例時都會在隨機文件夾中創建程序集副本,因此自己複製模塊也不是一個可行的解決方案。 – 2008-11-18 05:32:01
windows \ system2?你的意思是c:\ Windows \ System32或c:\ Windows \ System? – bitbonk 2009-12-02 06:43:36