繁体   English   中英

如何自动将VS2003类转换为部分Designer.cs文件?

[英]How to automatically convert VS2003 classes to partial Designer.cs files?

我正在将项目从Visual Studio 2003升级到2008,并希望自动生成XXX.Designer.cs文件并更新相应的XXX.cs原始文件。

有什么自动方式吗?

更新 :我指的是WinForms。 当然,我知道旧款式有效,但我正在寻找一种不用手工制作的新方式。

浮动的宏有一个这样做。 我用过它,效果很好。 首先看看Nathan Jones博客 如果你没有太多运气,那么从VSCONVERT下载一个宏源代码(我发布) - PasteBin

原始类将继续工作 - 即使使用Visual Studio设计器也是如此。 VS放在Designer类中的代码只是将设计器“noise”删除到一个单独的文件中,这样您就可以专注于类中的非可视代码。

使用向导将项目迁移到VS2008后,您可以在VS中打开表单并继续编辑它们,就像以前一样。 您创建的任何新表单都将获得Designer backer文件。

我们遇到了这个问题。

基本上,设计器文件应该只包含一组对象声明(即表单上的对象)和InitializeComponent()调用。 如果你对你的构造函数做了任何奇特的工作,那也可能就在那里。

只需创建一个名为MyForm.Designer.cs的文件并将其添加到项目中。 VS2008会自动将它放在MyForm.cs下面。 从那里,如果您创建部分类标题和命名空间,然后将所有声明和Initializecomponent调用复制到设计器文件中,然后它将起作用。

但是因为如果必须,人们会编辑initializecomponent并编辑默认构造函数,VS2005和2008无法自动升级这些文件,因为可能会发生各种奇怪的事情。 我想从项目的角度来看,您认为您的工作代码会从分离中获得什么好处?

我不确定我理解,但我会猜测。

这是VS2003中的ASP.NET项目吗? 它有.Designer.cs文件吗? 您是否已完成升级,但现在发现您没有.Designer.cs文件?

如果是这样 - 您可能无意中将Web应用程序项目更改为Web站点“项目”。 这种“项目”是在VS2005中引入的,所以你还没有看到它。 这些不是真正的项目(没有.csproj文件),它们还有许多其他差异。

否则,如果您的项目以前没有.Designer.cs文件,那么为什么现在需要它们呢?

一般来说,创建设计器文件的方法是在设计器中打开文件,稍等片刻让设计师完成它正在做的事情(更新屏幕等); 然后保存文件。 您可能需要“触摸”原件才能让设计师重新评估。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM