我正在将项目从Visual Studio 2003升级到2008,并希望自动生成XXX.Designer.cs
个文件并更新相应的XXX.cs
原始文件。
任何自动方式吗?
更新:我指的是WinForms。当然,我知道旧款式有效,但我正在寻找一种不用手工制作的新方式。
答案 0 :(得分:3)
浮动有一个宏可以做到这一点。我用过它,效果很好。首先看Nathan Jones Blog。如果你运气不好,请从VSCONVERT - PasteBin
下载宏源(我发布)的拉链答案 1 :(得分:1)
原始类将继续工作 - 即使使用Visual Studio设计器也是如此。 VS放在Designer类中的代码只是为了将设计器“noise”删除到一个单独的文件中,这样您就可以专注于类中的非可视代码。
使用向导将项目迁移到VS2008后,您可以在VS中打开表单并继续像以前一样编辑它们。您创建的任何新表单都将获得Designer backer文件。
答案 2 :(得分:1)
我们遇到了这个问题。
基本上,设计器文件应该只包含一组对象声明(即表单上的对象)和InitializeComponent()调用。如果你对你的构造函数做了任何奇特的工作,也可能就在那里。
只需创建一个名为MyForm.Designer.cs的文件并将其添加到项目中。 VS2008会自动将它放在MyForm.cs下面。从那里,如果你创建了部分类标题和命名空间,那么将所有声明和Initializecomponent调用复制到设计器文件中,然后它就可以工作。
但是因为如果必须,人们会编辑initializecomponent并编辑默认构造函数,VS2005和2008无法自动升级这些文件,因为可能会发生各种奇怪的事情。我想从项目的角度来看,您认为您的工作代码会从分离中获得什么好处?
答案 3 :(得分:0)
我不确定我理解,但我会猜测。
这是VS2003中的ASP.NET项目吗?它有.Designer.cs文件吗?您是否已经完成了升级,但是现在发现您没有.Designer.cs文件?
如果是这样 - 您可能无意中将Web应用程序项目更改为网站“项目”。这种“项目”是在VS2005中引入的,所以你还没有看到它。这些不是真正的项目(没有.csproj文件),它们还有许多不同之处。
否则,如果您的项目以前没有.Designer.cs文件,那么为什么现在需要它们呢?
一般来说,创建设计器文件的方法是在设计器中打开文件,稍等片刻让设计师完成它正在做的事情(更新屏幕等);然后保存文件。您可能需要“触摸”原件才能让设计师重新评估。