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