不同语言同时编译的问题
今天做一个Demo时候遇到个错误: The files '/DemoInProLogic/App_Code/VB/DataAccessSale.vb' and '/DemoInProLogic/App_Code/CS/Common.cs' use a different language, which is not allowed since they need to be compiled together.同一文件夹使用了不用语言,不允许同时编译;
在开发时,App_Code文件夹中存放的所有类文件应当使用相同的语言。如果类文件使用两种或多种语言编写,则必须创建特定语言的子目录,以包含用每种语言编写的类。一旦根据语言组织这些类文件,就要在web.config文件中为每个子目录添加一个设置:
<compilation>
<codeSubDirectories>
<add directoryName="VB" />
</codeSubDirectories>
</compilation>
下面是转载的关于App_Code文件夹的详细介绍
App_Code文件夹正好在Web应用程序根目录下,其存储所有应当作为应用程序的一部分动态编译的类文件。这些类文件自 动链接到应用程序,而不需要在页面中添加任何显式指令或声明来创建依赖性。App_Code文件夹中放置的类文件可以包含任何可识别的ASP.NET组件——自定义控件、辅助类、build提供程序、业务类、自定义提供程序、HTTP处理程序等。
注意,对App_Code文件夹的更改会导致整个应用程序重新编译。对于大型项目,这可能不受欢迎,而且很耗时。为此,鼓励大家将代码进行模块化处理 到不同的类库中,按逻辑上相关的类集合进行组织。应用程序专用的辅助类大多应当放置在App_Code文件夹中。
重要的是,特定语言的子目录应在web.config文件中注册,否则,不管它们属于哪个文件夹,App_Code文件夹下 的所有文件将被编译成一个单独的程序集。上述配置脚本描述了这么一种情况,即所有的C#文件都放在App_Code文件夹的根目录下,而把几个 Visual Basic.NET类文件移入VBFolder目录中。如果<codeSubDirectories>节中提到的目录不存在,则会收到一个编译错误提示。
App_Code根文件夹中的文件被编译成App_Code_xxx.dll程序集,其中xxx是随机生成的字符序列。一个 给定子目录中的文件将被编译成一个名为App_SubCode_xxx_yyy.dll的动态创建的程序集,其中xxx指示子目录的名称,而yyy是一个 随机字符序列。只有在应用程序根目录中的web.config文件中进行了设置,<codeSubDirectories>节才有效。在App_Code目录或任何其他子目录中放置一个assemblyinfo.cs文件,可以创建一个强命名的程序集。显然,如果该文件夹包含Visual Basic .NET文件,那么将使用assemblyinfo.vb文件。程序集配置文件可以引用一个.snk文件来保存强名称的密钥。注意 给一个程序集设置一个强名称,首先必须获得一个公开/私有密钥对。通过使用强名称(Strong Name)工具(sn.exe),可以获得这样一个密钥对。强名称工具是我们可以在.NET Framework的安装路径中发现的SDK binary之一。密钥对文件通常有一个.snk扩展名。可以将该文件保存到一个应用程序文件夹中,并在assemblyinfo.cs文件中引用它,
如下所示:
[assembly: AssemblyKeyFileAttribute(@"yourKeyPair.snk")]
注意,Visual Basic .NET是在包含Visual Studio Solution的目录中寻找密钥文件,而C#编译器则在包含该binary的目录中寻找密钥文件。据此可知,用此属性调整我们使用的路径,或者把密钥文件放在合适的文件夹中。在随后发生的任何重新生成中,程序集的名称将发生变化。同时,老的AppDomain请求一结束,就删除老的程序集。App_Code文件夹并非只能包含类文件。特别是,它可以包含并能自动地处理代表数据架构的XSD文件。把一个XSD文件 添加到该文件夹中时,编译器将把它解析成一个有类型的DataSet类,并将它添加到应用程序作用域中。在ASP.NET 1.x中,这一工作由Visual Studio .NET向导,使用一个命令行实用程序(xsd.exe)完成的。注意使用web.config文件注册一个组件(例如,一个自定义的服务器控件或一个自定义的HTTP处理程序)时,通常要求指定包含该代码的程序集名称。如果该组件定义在App_Code文件夹中,则应该用什么名称来指示程序集?在这种情况下,只是忽略程序集信息,并规定完整的类名即可。如果没有规定任何程 序集,则ASP.NET运行库将试图从任何已装载的程序集中装入该类,包括为App_Code文件夹动态创建的程序集。
链接: http://hi.baidu.com/swfczm/blog/item/ab1dcc4b373245f682025ce2.html
转载于:https://www.cnblogs.com/joymxg/archive/2008/08/24/1275355.html
不同语言同时编译的问题相关推荐
- -i 可以编译添加多个_C语言的编译过程
大家对C语言的编译过程可能有个大致的理解,但是,详细到每一步具体都干了啥,可能有的人不是很清楚啦,也包括我,要不然,就不会做笔记了,哈哈... 0.主要步骤 ① 步骤 编写源程序(.c) → 预处理 ...
- c语言如何发现错误在哪里,二个C语言例子,编译没通过.不知道错在哪里[求助]
发表于:2007/12/17 8:30:00 #0楼 以前都用汇编,C语言没弄过. 完全照书上的二个C语言例子,编译没通过.不知道错在哪里,请求帮助.谢谢 第一个程序: #include #defin ...
- 解析性语言与编译性语言优劣对比
高级编程语言分为解析语言和编译性语言,各自代表有Js,python 以及c/c++,golang等,java某种意义上说既是解析语言也是编译性语言. 以下是解析语言与编译性语言的一些优劣对比: 1:效 ...
- .NET语言的编译过程:中间语言(IL)和即时编译器(JIT)
.NET语言的编译分为两个阶段.首先高级语言被编译成一种称作IL的中间语言,与高级语言相比,IL更像是机器语言,然而,IL却包含一些抽象概念(比如:类.异常),这也是这种语言被称为中间语言的原因.IL ...
- C语言的编译链接过程的介绍
发布时间: 2012-11-08 10:17 作者: 未知 来源: 51Testing软件测试网采编 字体: 小 中 大 | 上一篇 下一篇 | 打印 | 我要投稿 | 推荐标 ...
- C语言的“编译时多态”
typeof 在 kernel 中的使用 -- C 语言的"编译时多态" C 语言本身没有多态的概念,函数没有重载的概念.然而随着 C 语言编写的软件逐渐庞大,越来越多地需要引入一 ...
- c语言作业系统输出超限,C语言网Online Judge系统支持语言和编译说明
Online Judge系统支持语言和编译情况: 语言 编译器 语言版本 编译参数 C gcc 4.6.3 C99 gcc Main.c -o Main -Wall -lm –static -std= ...
- Java 答疑:编译器和解释器有何区别?Java 语言属于编译型编程语言还是解释型编程语言?
文章目录 前言 一.Java 与 Java 字节码 二.什么是编译器(Compiler) 三.什么是解释器(Interpreter) 四.编译器与解释器有何区别? 五.Java 语言属于哪种语言? 总 ...
- c语言自己编译自己,TCC研究(一): Tiny C Compiler最小的C语言编译器,自己编译自己...
TCC研究(1): Tiny C Compiler最小的C语言编译器,自己编译自己 最近,在学习编译器技术, 研究了一下TCC, 记录一下. Tiny C Compiler(简称TCC, 或Tiny ...
- c语言的编译过程,从文本到可执行文件
从文本文件到可执行文件 以hello world举例. #include<stdio.h> int main(){printf("hello,world!\n");re ...
最新文章
- 360浏览器极速模式_【小技巧】解除浏览器主页以及,锁定主页~
- 【推荐系统】手写ItemCF/UserCF代码,你会吗?
- python原始web与django框架 mvc模式开发
- 6.5 scp:远程文件复制
- 介绍一个统计各个网站访问时长的Chrome扩展 - Rooster
- gradle项目 构建_使用Gradle构建Monorepo项目
- 再说invoke和begininvoke
- perl 中文处理 乱码
- qzone.class.php,PHP QQ登录接口应用_PHP教程 - str_repeat
- Using mysqldump for Backups(备份还原数据库实例及参数详细说明)
- mark制图软件_绘图软件有哪些?
- 【Transformer架构】Transformers are RNNs (linear transformer)
- Hermez官方文档翻译(四)开发者-SDK (有自己测试验证demo)
- 影版《宫》曝海报 周冬雨:想与张艺谋再合作
- 服务器只读团体字信息,服务器团体名配置
- ARM GIC(三) gicv2架构
- JSP实现word文档的上传,在线预览,下载
- 使用UltraISO软碟通离线安装Centos8.3.2011过程中遇到的问题
- 【毕业设计】基于stm32的便携用电功率统计系统 -物联网 嵌入式 单片机
- Pytorch将多维张量转换为一维