扩展名:csproj

ylbtech-扩展名:csproj

C#项目文件的扩展名,它是“C Sharp Project”的缩写。.net 开发环境中建立项目时,会产生 .csproj 文件,这是C#的工程文件,其中记录了与工程有关的相关信息,例如包含的文件,程序的版本,所生成的文件的类型和位置的信息等。

1.返回顶部

1、

中文名:csproj
外文名:C Sharp Project
产    生:csproj 文件
记    录:工程有关的相关信息
例    如:包含的文件,程序的版本

2、

2.返回顶部

1、

作用

“csproj文件究竟是做什么用的”

csproj文件 是“C Sharp Project”的缩写。

那么它究竟是给谁用的呢?那是给开发工具用的,例如我们再熟悉不过的Visual Studio,以及大家可以没有接触过,但是应该都听说过的MSBuild.exe。Visual Studio会根据csproj里的XML定义来管理项目文件以及相关其他一些种类非常丰富的数据及操作,MSBuild也会根据csproj文件来得知编译这个项目需要有哪些依赖,默认输出路径,Pre-Build和Post-Build需要哪些操作等等。Visual Studio和MSBuild都是开发工具,这就是csproj存在的唯一意义:为“开发环境”提供信息。而到了运行环境中,根本不会有人(操作系统?)关心所谓的csproj文件——也就是“程序是哪里来的”。

如果是个可执行程序,操作系统需要的只是exe,dll,甚至是配置文件或资源文件,而并非在开发中举足轻重的csproj,sln,dbproj等文件。而像IIS这样的运行环境,更加不会去关注csproj的影子:“csproj是什么?”IIS轻蔑地说,“我只听web.config的说法”。在运行环境中,csproj的辉煌不在——这是自然,你有办法向我们的IIS证明它使用的dll在开发期是由csproj,sln等文件来“统领”的吗?说到之前提到的“pdb文件需要放在Debug目录下才有效果”,其实不然。Debug目录只是VS的模板所“默认存在”的编译规则所生成的目录而已,我们在调试时使用pdb文件完全可以由VS指定pdb文件存在的目录——甚至我们根本不需要VS也能使用pdb文件。

说到了“模板”,这其实又是“开发环境”的概念。我们在VS中选择New Item或New Project时,可以在弹出窗口的左边找到模板的分类,而右边则是一堆可用的模板。这些模板是哪来的呢?自然是人为生成给VS用的,您不妨看看自己My Documents\Visual Studio 2008\Templates目录下是否存在一些zip文件,那就是存放“My Templates”的压缩包,感兴趣的朋友可以学习一下如何建立一个模板。而在“运行环境”下,更不会知道开发中用了什么模板。不知您是否提过这样的问题:“为什么Web Site中无法使用ASP . NET AJAX,而Web Application就可以?”您应该已经知道了,运行时期的问题和Web Site、Web Application与否没有任何关系。那么是如何产生这个问题的呢?看看您的Web.config?看看页面上提示了什么信息?用Fiddler看看请求的输出是什么?其实在很多时候“排错”并没有什么妙法,唯“仔细”二字。

而且事实上,“模板”在开发环境中的“地位”比csproj文件都要低,因为只要通过模板创建好内容之后,就无法说明结果和自己有什么联系了。例如我们使用模板创建一个AjaxControlToolkit的Extender,其中会生成一个.cs,一个.designer.cs和一个js文件——呵呵,谁还能证明这三个文件不是我们手动创建的呢?这就是“开发环境”,一切都是为了开发效率的提高,一切都是为了能够最终产生一个可执行的二进制文件。而在开发环境的最后一个成员“编译器”工作完成之后,所有开发工具便默默地退居二线。

2、

3.返回顶部
4.返回顶部
5.返回顶部

1、

https://baike.baidu.com/item/csproj/7765218

2、

6.返回顶部
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/storebook/p/12625423.html

时间: 2024-08-30 17:31:52

扩展名:csproj的相关文章

批处理 批量删除当前目录及子目录下多个指定的扩展名文件

批量删除当前目录及子目录下任意指定的扩展名文件 今编译DEV的语言文件,各种语言文件不需要,只保留中文的语言文件,写个批处理也方便以后使用 1 @echo off 2 set Path=%CD% 3 cd /d Path 4 del /f/s/q/a *.tlog 5 del /f/s/q/a *.cache 6 del /f/s/q/a *.txt 7 del /f/s/q/a *.pdb 8 del /f/s/q/a *.resources 9 del /f/s/q/a *.vspscc 1

删除空文件夹 清除CS扩展名文件 bat

删除空文件夹.删的干净.删的彻底. 将下列代码复制到txt中保存.并把后缀.txt命成.bat.然后运行即可. 方案1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 删除指定目录及其子目录下的空文件夹.bat 代码: @echo offecho.echo 说明此工具会删除指定目录所在空文件夹及其子目录下的空文件夹,以节省空间.echo.echo.echo 本例只限删除10层

linxu的文件类型和扩展名

1)windows 里是通过扩展名来区分文件类型的. 2)linux里文件扩展名和文件类型没有关系. 3)为了容易区分和兼容用户使用windows的习惯,我们也会用扩展名来区分文件类型. 在linux系统中,可以说一切皆文件. 文件类型包含有普通文件.目录.字符设备文件.块设备文件.符号链接文件等: -type c              File is of type c: b      block (buffered) special c      character (unbuffere

没有为扩展名“.cshtml”注册的生成提供程序。

新建的mvc4 空项目,然后从其他项目里拷贝shared文件夹和_ViewStart.cshtml文件过去,然后在@符号上出现 没有为扩展名“.cshtml”注册的生成提供程序.错误 解决方法: 需要在项目的web.config中system.web节点里增加一项配置节点: <compilation defaultLanguage="c#" debug="true"> <!-- 加上此节点,保证原本就是.html类型的文件能正常访问 -->

Visual C++ 编译器自动假定带 .C 扩展名的文件是 C 文件而不是 C++ 文件,并且拒绝 C++ 语法和关键字(c语言只能在大括号最前面申明变量)

今天在编译OpenGL红宝书附带源码中的light.c文件时遇到一个诡异的问题: 如图light .c,在不做任何修改的情况编译OK.然而只要在某些地方写了可执行代码,则会无法通过编译器编译! (这几行代码如果写在main函数里的第一句则OK) 我用的VS08.我把该文件发给其他朋友(用的VS10),同样也是这样的问题. 然而,我把文件名改成light.cpp后,问题解决了. 现在的问题是,代码文件按的后缀背后,会如何影响编辑器的编译呢? 可以做一个简单的测试: [cpp] view plain

PHP中获取文件扩展名的N种方法

PHP中获取文件扩展名的N种方法 从网上收罗的,基本上就以下这几种方式: 第1种方法: function get_extension($file) { substr(strrchr($file, '.'), 1); } 第2种方法: function get_extension($file) { return substr($file, strrpos($file, '.')+1); } 第3种方法: function get_extension($file) { return end(expl

C# 获取文件名及扩展名

转载自  http://www.cnblogs.com/libushuang/p/5794976.html string aFirstName = aFile.Substring(aFile.LastIndexOf("\\") + 1, (aFile.LastIndexOf(".") - aFile.LastIndexOf("\\") - 1));  //文件名 string aLastName = aFile.Substring(aFile.L

输入一个扩展名和一个文件夹名称,显示这个文件夹下的所有这个扩展名的文件名及其大小?

package io; import java.io.File;import java.util.Scanner; public class io_1 { public static void main(String[] args) { System.out.println("请输入文件名和后缀名"); //输入文件夹 Scanner sc=new Scanner(System.in); String s=sc.next(); //输入扩展名 Scanner sa=new Scanne

没有为扩展名“.html”注册的生成提供程序

没有为扩展名“.html”注册的生成提供程序.可以在 machine.config 或 web.config 中的 <compilation><buildProviders> 节注册一个.请确保所注册的提供程序具有包含值“Web”或“All”的 BuildProviderAppliesToAttribute 属性.说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Web.Ht