對于大約 140 個表單的大型重構專案,我一直在嘗試通過設計器復制和粘貼這些控制元件。我正在使用 VS 2022,但我也嘗試過使用 2019。原始專案在 .NET4.5 中,新專案在 dotnet6 中。我的機器在win10上運行。
這些是我到目前為止嘗試過的事情:
- 鍵盤快捷鍵 ( ctrl-a ctrl-c / ctrl-x ctrl-v )
- 拖放( ctrl-a 拖放)
- 方法與上述相同,但一次一個控制元件(剪輯的總大小為 164k 位元組)

c# 表單背景關系選單中的粘貼選項是灰色的,當我拖放時,我會看到一個“阻止”圖示。
我很茫然,不打算重新設計所有這些表格。
我在這里錯過了什么嗎?
uj5u.com熱心網友回復:
我剛剛做了一些測驗,您似乎無法在 VS 的不同實體之間拖放或復制和粘貼,而您似乎正在嘗試這樣做。我兩次打開同一個解決方案,我能夠在同一個實體中的 C# 和 VB 專案之間拖放,但我不能在實體之間的同一個 VB 專案中的兩個表單之間這樣做。
這意味著您必須將其中一個專案添加到包含另一個專案的解決方案中。這沒什么大不了的,因為將現有專案添加到解決方案不會移動或復制該專案。解決方案只是在其現有位置參考它。完成所有拖放操作后,您只需再次從解決方案中洗掉專案即可。
uj5u.com熱心網友回復:
根據這篇文章,.NET 框架 4.x 在二進制級別與 .NET 核心不兼容,這會阻止您復制控制元件。當我想到它時,真的很合乎邏輯。
我已經測驗了 dotnet5.0 和 dotnet6.0 都給出了問題,但 dotnet4.8 作業得很好。
作為我的問題的解決方案,我將嘗試使用 c# 在 .NET 框架 4.8 中使用中間專案,然后移植到 dotnet6。
謝謝您的幫助。
uj5u.com熱心網友回復:
您不能在winform應用程式中直接將控制元件從.NET Framework 4.x復制到.NET6,因為.NET Framework和.NET6是不同的框架,所以如果您的專案只針對windows,您可以考慮將專案更新到.NET Framework 4.8允許您復制粘貼 Winforms 控制元件。
為了將 VB 專案(.NET Framework)轉換為 C# 專案(.NET6),其中一種選擇是將 InitializeComponent 方法中的 VB 代碼轉換為 C#,并將其粘貼到 .NET 6 中的相同位置。
另請檢查:使用 .NET 升級助手將 Windows 表單應用程式升級到 .NET 6
注意:.NET6 不支持 .NET Framework 中的某些庫,您可能需要找到它們的替代品。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/416492.html
標籤:
