Asp.net 为什么是C++/CLI不支持web应用程序?

Asp.net 为什么是C++/CLI不支持web应用程序?,asp.net,.net,web-applications,c++-cli,Asp.net,.net,Web Applications,C++ Cli,我花了一些时间学习C++/CLI,我觉得它是强大的.Net语言,特别是在互操作性概念上。我认为这将是一个伟大的步骤,如果这种语言将扩展其互操作性,以包括asp.net,到目前为止,最新版本不支持asp。但我不知道在未来的版本中是否有这样的计划。是否有任何理由使得C++的最后版本不能处理像C或VB这样的ASP?< /P> < P>我不确定是否有任何原因,ASP.NET不支持在ASPX文件中的C++内联,除了开发团队不认为它是值得的(我假设这就是你的意思)。 你应该能够在C++中实现代码BeNeDS

我花了一些时间学习C++/CLI,我觉得它是强大的.Net语言,特别是在互操作性概念上。我认为这将是一个伟大的步骤,如果这种语言将扩展其互操作性,以包括asp.net,到目前为止,最新版本不支持asp。但我不知道在未来的版本中是否有这样的计划。是否有任何理由使得C++的最后版本不能处理像C或VB这样的ASP?< /P> < P>我不确定是否有任何原因,ASP.NET不支持在ASPX文件中的C++内联,除了开发团队不认为它是值得的(我假设这就是你的意思)。

你应该能够在C++中实现代码BeNeDS。这将使您达到95%的目标,尽管您仍然需要用C#或VB.NET编写页面代码


(不是我的文章,只是参考)

C++/CLI从来就不是一种通用语言。它的存在几乎只是为了互操作性的目的

如果希望在.Net应用程序中使用C/C++库(无论是您自己的代码还是类似WinAPI的代码),则C++/CLI是为该库创建托管包装器或完整编写整个应用程序的好方法,如果这不是那么多工作的话

除此之外,您可能应该使用C#(我认为如果您已经了解C++,那么学习VB.NET没有多大意义)。如果您认为您的应用程序将受益于函数式风格,那么其他选择是F#。或者IronPython(或IronRuby),如果您认为您会从动态类型中受益的话

当然,如果应用程序的一部分在其中一种语言中更好,而另一部分在另一种语言中更好,您可以混合使用这些语言

反对使用C++/CLI的另一个原因是它在VS中的弱支持(没有IntelliSense),以及C#使用p/Invoke与本机DLL进行互操作的能力


重申一下,如果需要与本机DLL或已编写的C/C++代码进行互操作,请使用C++/CLI。对于其他任务,你可能应该使用C ^ .< /P> < P> Visual C++编译器不支持部分类,即,在C++的/CX帮助下,借助WRET投影。每个cpp一个obj文件的传统很难打破

如果没有分部类功能,表单设计者需要编辑您正在处理的同一文件。这意味着解析包含大量不相关文本的文件、处理宏等,最重要的是避免在设计器生成时替换重要代码的bug。我想不出有多少团队愿意处理这个问题,尤其是像设置编辑器这样的小团队


< > C++解析器比简单语言的解析器慢。对于Web设计者来说,如果切换到类似的语言可以得到更快的设计者和编译器,为什么不呢?< /P>你是指ASP.NETWebFras?你想用C++编写ASP.NET应用程序吗?为什么?我是说,说真的,为什么?如果你想给自己造成这种痛苦,你真的必须是一个受虐狂。如果我是C++\CLI的用户,为什么我需要花时间在C上才能使用asp.net@Adban,如果你是C++用户,为什么你必须让痛苦使用.NET?我的意思是,有C++框架来编写网站,不是吗?如果你去.NET的方式,做正式和普遍的:使用适当的语言C·y/vb.net。达林:我没有看到任何人提到C++。C++和C++ +CLI是两种完全不同的语言。FYI,链接文章使用“托管扩展C++”语法,但是OP询问C++和CLI. TouChe。但是C++/CLI可以访问FCL和任何其他.NET,对吗?这应该就是您所需要的了?是的,我只是说教程使用的语法与所要求的不同,并不是说C++/CLI无法实现与本文概述相同的功能。:-]+1提到F#——这是我对C#100%的选择。新版本的VS将支持C++\CLI Intellisense您错过了使用C++/CLI的另外五个好理由(例如使用SIMD指令,或仅举两个实际优化的模板)。但是总体结论是正确的——使用C++的前端,C++和CLI程序集可以被引用并做所有繁重的列表。@ BenVoigt,我很好奇,为什么你想在.NET项目中使用模板?C++ +代码>包含< /COD>比部分类更强大,只是与设计人员不兼容。使用头文件如何解决将设计器生成的代码隔离到单个文件的问题?设计器可以生成
ref类DesignedForm{#include“DesignedFormCodeBehind.h”/*designed stuff*/}