关于visual studio 2005的工程文件*.vcproj的问题

时间:2023-01-06 11:49:14
请问:Visual Studio 2005 新建一个工程之后,会自动生产一个*.vcproj的一个文件,这个文件是个标准的XML文件,但它里面的标签都是什么意思啊???请大虾们指教!!!

13 个解决方案

#1


就是各种工程的属性信息,cl.exe等能够读取它来获得需要的一些编译参数等...
格式都是编译器自己定义好的,它能够识别

#2


Visual Studio 2005 支持的工程类型可以在注册表的以下位置查到:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Policy\SupportedProjects\
下面的子键和工程类型为:
{66A26720-8FB5-11D2-AA7E-00C04F688DDE}  Solution Folder Project
{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}  VC Project
{E24C65DC-7377-472b-9ABA-BC803B73C61A}  VWD Project
{E6FDF86B-F3D1-11D4-8576-0002A516ECE8}  VJSharp Project
{F184B08F-C81C-45F6-A57F-5ABD9991F28F}  VB Project
{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}  CSharp Projcet



VC 工程文件一瞥:
<?xml version="1.0" encoding="gb2312"?>
<VisualStudioProject              <!-- xml 文件根元素 -->
  ProjectType="Visual C++"        <!-- 工程类型       -->
  Version="8.00"                  <!-- studio 版本    -->
  Name="Samples"                  <!-- 工程名称       -->
  ProjectGUID="{9B09C64E-3AEF-429B-8E90-E270F8FC7D0C}"
  RootNamespace="CLanguageSamples" <!-- 根名字空间名称 -->
  Keyword="ManagedCProj"           <!-- 关键词   -->
  >
  <Platforms>  <!-- 配置支持的平台 -->
    <Platform
      Name="Win32"
    />
  </Platforms>
  <Configurations>
    <Configuration
      Name="Debug|Win32"    <!-- win32 平台的 调试 版本配置 -->
      OutputDirectory="$(SolutionDir)$(ConfigurationName)" <!-- 程序的最终输出目录 -->
      IntermediateDirectory="$(ConfigurationName)"         <!-- 中间文件的存放目录 -->
      ConfigurationType="1"     <!-- 配置类型 -->
      CharacterSet="2"          <!-- 字符集类型 -->
      ManagedExtensions="1"     <!-- 托管扩展 -->
      >

#3


up

#4


solution 文件也是 xml , 每个工程有两个 guid
第一个就是 工程类型(VC, C# ..)  第二个是工程自己的 guid

结构都类似, 自己写也行, 或者出了问题, 直接改它.

经常直接修改 csproj 的 References 节点

#5


c# 的 理论上只看装 C# SDK , 就有了完整的编译环境.

msbuild + sln, + csproj + asp_net compiler 可以完成软件构建了.

#6


谢谢指点。。。

#7


up

#8


下面的子键和工程类型为: 
{66A26720-8FB5-11D2-AA7E-00C04F688DDE}  Solution Folder Project 
{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}  VC Project 
{E24C65DC-7377-472b-9ABA-BC803B73C61A}  VWD Project 
{E6FDF86B-F3D1-11D4-8576-0002A516ECE8}  VJSharp Project 
{F184B08F-C81C-45F6-A57F-5ABD9991F28F}  VB Project 
{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}  CSharp Projcet 

请问这个子键和工程类型有什么关系吗?每个具体的工程都应该有自己对应的一个子键吧。

#9


vcproj 是工程的配置信息
你给工程配置的任何信息都保留在这里面 
说白了 他就是一个变相的 include 文件(makefile)

#10


等于是一个配置文件,记录了有关于工程的所有属性

#11


谢谢回帖的各位。。。。

#12


没有自动生成怎么办,我发现没有生成,只是编译通过了,能生成不?

#13


其实我出现的问题是在exe执行时出现错误,不知道怎么解决。如下:
.exe 中的 0x00000000 处未处理的异常: 0xC0000005: Access violation

#1


就是各种工程的属性信息,cl.exe等能够读取它来获得需要的一些编译参数等...
格式都是编译器自己定义好的,它能够识别

#2


Visual Studio 2005 支持的工程类型可以在注册表的以下位置查到:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Policy\SupportedProjects\
下面的子键和工程类型为:
{66A26720-8FB5-11D2-AA7E-00C04F688DDE}  Solution Folder Project
{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}  VC Project
{E24C65DC-7377-472b-9ABA-BC803B73C61A}  VWD Project
{E6FDF86B-F3D1-11D4-8576-0002A516ECE8}  VJSharp Project
{F184B08F-C81C-45F6-A57F-5ABD9991F28F}  VB Project
{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}  CSharp Projcet



VC 工程文件一瞥:
<?xml version="1.0" encoding="gb2312"?>
<VisualStudioProject              <!-- xml 文件根元素 -->
  ProjectType="Visual C++"        <!-- 工程类型       -->
  Version="8.00"                  <!-- studio 版本    -->
  Name="Samples"                  <!-- 工程名称       -->
  ProjectGUID="{9B09C64E-3AEF-429B-8E90-E270F8FC7D0C}"
  RootNamespace="CLanguageSamples" <!-- 根名字空间名称 -->
  Keyword="ManagedCProj"           <!-- 关键词   -->
  >
  <Platforms>  <!-- 配置支持的平台 -->
    <Platform
      Name="Win32"
    />
  </Platforms>
  <Configurations>
    <Configuration
      Name="Debug|Win32"    <!-- win32 平台的 调试 版本配置 -->
      OutputDirectory="$(SolutionDir)$(ConfigurationName)" <!-- 程序的最终输出目录 -->
      IntermediateDirectory="$(ConfigurationName)"         <!-- 中间文件的存放目录 -->
      ConfigurationType="1"     <!-- 配置类型 -->
      CharacterSet="2"          <!-- 字符集类型 -->
      ManagedExtensions="1"     <!-- 托管扩展 -->
      >

#3


up

#4


solution 文件也是 xml , 每个工程有两个 guid
第一个就是 工程类型(VC, C# ..)  第二个是工程自己的 guid

结构都类似, 自己写也行, 或者出了问题, 直接改它.

经常直接修改 csproj 的 References 节点

#5


c# 的 理论上只看装 C# SDK , 就有了完整的编译环境.

msbuild + sln, + csproj + asp_net compiler 可以完成软件构建了.

#6


谢谢指点。。。

#7


up

#8


下面的子键和工程类型为: 
{66A26720-8FB5-11D2-AA7E-00C04F688DDE}  Solution Folder Project 
{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}  VC Project 
{E24C65DC-7377-472b-9ABA-BC803B73C61A}  VWD Project 
{E6FDF86B-F3D1-11D4-8576-0002A516ECE8}  VJSharp Project 
{F184B08F-C81C-45F6-A57F-5ABD9991F28F}  VB Project 
{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}  CSharp Projcet 

请问这个子键和工程类型有什么关系吗?每个具体的工程都应该有自己对应的一个子键吧。

#9


vcproj 是工程的配置信息
你给工程配置的任何信息都保留在这里面 
说白了 他就是一个变相的 include 文件(makefile)

#10


等于是一个配置文件,记录了有关于工程的所有属性

#11


谢谢回帖的各位。。。。

#12


没有自动生成怎么办,我发现没有生成,只是编译通过了,能生成不?

#13


其实我出现的问题是在exe执行时出现错误,不知道怎么解决。如下:
.exe 中的 0x00000000 处未处理的异常: 0xC0000005: Access violation