在一個(gè)C#的桌面應(yīng)用項(xiàng)目中需添加一個(gè)與另一個(gè)項(xiàng)目一樣的windows form。出于DRY原則,自己直接將該windows form的相關(guān)源文件添加到了項(xiàng)目中。自以為大功告成之際,發(fā)現(xiàn)在Visual Studio 2017中無法打開該form的可視化界面 - design viewer。
此問題自己之前遇到過,依稀記得需要通過手工修改項(xiàng)目的工程文件(.csproj)才能解決,但不記得如何具體修改。
幸好通過萬能的stackoverflow找到了具體修改方法,現(xiàn)將該方法記錄下來,供有類似問題的朋友做個(gè)參考,少走彎路、節(jié)約寶貴的人生時(shí)間。
以下以一個(gè)windows form為例,對(duì)應(yīng)的源文件分別為:
HolidaysForm.cs
HolidaysForm.resx
HolidaysForm.Designer.cs
- 找到windows form文件所在項(xiàng)目(project)的C#工程文件,該文件以csproj結(jié)尾,一般位于項(xiàng)目的根目錄下,且一個(gè)項(xiàng)目只有一個(gè)該文件。用記事本打開該文件。
- 查找windows form的cs文件名(含后綴.cs),比如HolidaysForm.cs。在內(nèi)容
<Compile Include="HolidaysForm.cs">
<SubType>Form</SubType>
</Compile>
之后添加以下內(nèi)容:
<Compile Include="HolidaysForm.Designer.cs">
<DependentUpon>HolidaysForm.cs</DependentUpon>
</Compile>
- 在該文件中,繼續(xù)查找到相應(yīng)的資源文件名,比如:HolidaysForm.resx
將內(nèi)容
<EmbeddedResource Include="HolidaysForm.resx" />
修改為:
<EmbeddedResource Include="HolidaysForm.resx">
<DependentUpon>HolidaysForm.cs</DependentUpon>
</EmbeddedResource>
修改完成后保存該cs工程文件,利用Visual Studio的design viewer就可以打開可視化的設(shè)計(jì)界面。
如有不清楚之處,歡迎隨時(shí)留言進(jìn)行交流。