Visual Studio 2012 RC中的Windows窗体CLR应用程序?

17

快速问题,我只是在尝试VS2012并尝试创建一个C++.NET应用程序,但是无论如何我都找不到新项目时的选项。

在vs2008中,它曾经在新项目>可视化c++> CLR>窗体应用程序下。

他们是否已从VS2012中删除了创建C++/CLR应用程序的选项?还是我必须下载什么?


肯定是 @Tim 't Hart 给你答案。 - qPCR4vir
5个回答

39

虽然微软已经删除了创建C++/CLI Windows表单应用的选项,但模板文件仍然安装在计算机上。唯一缺失的似乎是.vsz文件和vcNET.vcdir文件中的注册。我已重新创建这些文件并提供下载

安装这些文件后,您应该能够再次使用C++/CLI创建WinForm应用程序。


4
在我看来,这绝对是答案! - Digital_Utopia
谢谢这个,我正准备安装VS 2010。 - JMK
尽管出现了选择项,但我无法在C++中选择WinForms应用程序。当我进行选择时,应用程序类型选择屏幕会立即重新出现。 - woryzower
3
你是否在使用Visual Studio Express 2012?我刚刚检查了Express版本,发现微软没有在该版本的Visual Studio中包含必要的模板文件。如果你可以使用完整版的Visual Studio 2012,你可以从/VC/VCWizards/AppWiz/.NET/文件夹中复制"WinForm"和"ControlLibrary"的模板文件夹,并将它们复制到Visual Studio Express对应的文件夹中。这样应该会起作用。 - Tim 't Hart
@Tim'tHart,实际上我只是使用了你的原始文件,在VSWDExpress中获取模板。我只是在路径中使用了“vcprojects_WDExpress”而不是“vcprojects”。 - tinstaafl
这在Visual Studio 2013中可以工作吗?我刚刚尝试了一下,但没有成功。 - deinocheirus

14

很多人都遇到过这个问题,以下是我所遵循的步骤:

创建一个Visual C++ --> CLR --> CLR空项目(注意指定名称和目录)。

创建完成后,在项目上右键单击并选择“添加-->新项目”。

在UI选项卡下,选择“Windows窗体”。命名您的表单,然后点击“确定”。该表单将会添加到项目中。

在表单被添加之后,将以下代码复制到YourFormName.cpp文件中:

using namespace System;
using namespace System::Windows::Forms;

[STAThread]
void Main(array<String^>^ args)
{
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);
    Project1::MyForm myForm;        //NameOfProject::NameOfForm instanceOfForm;
    Application::Run(%myForm);
}

我们快完成了...

现在在项目属性下,展开Linker部分并选择"System"。在子系统选项下,选择Windows (/SUBSYSTEM/WINDOWS)

现在添加一个入口点。在"链接器-->高级选项"下,选择"Main"作为"入口点"

构建和运行... 大功告成!!

P.S.: 这只是一个空表单 ;)


7
是的,微软已经移除了该选项,以下是微软的回应(参考):
“C++ / CLI 是一个很好的互操作解决方案,但我们不建议使用 C++ / CLI 创建全新的 UI 应用程序。”
提供的解决方法如下:
1. 使用 2012RC 和 MSVC2010 Express 创建一个空的 C++ 解决方案。 2. 在 2010 Express 中,在 2012RC 空解决方案的文件夹内创建一个新的 WinForm App 项目。关闭全部保存。 3. 使用 2012RC 的 “添加现有项目” 将 2010 Express WinForm App 项目添加到空的 2012RC 解决方案中。 4. 右键单击项目将其转换为 2012RC “格式”。
这很简单有效,但我不知道所有后果。

1

自己创建模板:

  1. 使用2012RC(新建项目 -> 其他项目类型 -> Visual Studio解决方案 -> 空白解决方案)和MSVC2010 Express(新建项目 -> Visual C++ -> 空项目)创建一个空的C++解决方案。
  2. 使用2010 Express,在2012RC空解决方案文件夹内创建一个新的Windows窗体应用程序项目(命名为“myWForm11”或其他名称)。保存并关闭2010 Express。
  3. 使用2012RC中的“添加现有项目”,将2010 Express-WinForm应用程序项目添加到空的2012RC解决方案中。
  4. 右键单击解决方案以将VC++项目升级为2012RC“格式”。
  5. 文件 -> 导出模板... -> 下一步> 输入模板名称:“Windows窗体应用程序,C++ 2012RC”或其他名称及其描述。
  6. 完成
  7. 关闭解决方案

现在您可以像往常一样在2012RC中创建WF应用程序(新项目 ->已安装 ->模板 ->Visual C++ ->Windows表单应用程序,C++ 2012RC)。

它有效且简单!但我不知道所有的后果。


0

我刚刚在 VS2010 中创建了一个新项目。 然后将其导入到 VS2013。

你会发现表单设计器并不总是有效。 稍微更改源文件并保存它。 然后表单设计器就可以正常工作,直到你再次加载该项目为止。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接