如何在Windows窗体应用程序项目中链接文件?

时间:2013-05-14 00:29:36

标签: c# visual-studio-2012

我对文件如何编译在一起感到茫然,似乎没有相互引用。我刚刚启动Visual Studio 2012,然后启动了一个新项目,然后单击了Windows Forms Application。该解决方案包括以下文件:Form1.Designer.cs,AssemblyInfo.cs,Settings.Designer.cs和Resources.resx,据我所知。那将是四个文件全部执行但似乎没有任何相互引用。 C#是否只执行包含Main()的目录中的所有文件?如果是这样,那么它如何确定订单?我在其他地方找不到这些信息。

2 个答案:

答案 0 :(得分:2)

如果检查项目文件的原始内容(使用外部编辑器打开它),您将看到它不是任意的。该项目“将这些文件联系在一起”。它将与名为project_name.csproj的其他文件(对于C#)位于同一文件夹中

为了更深入地研究.NET中的编译如何工作,我建议尝试使用命令行编译器。 csc用于C#,vbc用于VB。

格式是XML,开头看起来像这样:(即使是一个非常小的应用程序也会有一个相当大的prj文件。)

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>8.0.50727</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{37482A08-A668-45C7-A650-37EA2248B1F6}</ProjectGuid>
    <OutputType>WinExe</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>

    etc.

答案 1 :(得分:-1)

还有一个名为Program.cs的文件,它有一个main方法,此方法确定应首先运行的应用程序,并且默认运行Form1.cs请参阅以下行:

Application.Run(new Form1());

所以现在您知道将首先编译哪个类,然后将第一个编译的表单与另一个表单或其他任何内容链接起来,并使用动作事件处理程序(例如按钮单击)启动它。