通过前面三个教程的学习,已经可以生成代码了。这个教程,学习如何构建一个C#解决方案和项目。
生成.Net一个项目,一般需要生成如下几个文件(以Entity实体层为例):
解决方案文件:Test.sln
Entity实体层项目文件:Test.Entity.csproj
实体文件:SettingEntity.cs
基本上生成了如上三个文件,就可以生成一个可编译的站点了。
具体结构大家可以新建一个项目,然后查看相关文件。
这里给几个关键点说明:
(1)Test.sln
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test.Entity", "Test\Entity\Test.Entity.csproj", "{858D4705-955C-4D81-B5CB-859287EC36A5}"
EndProject
设置包含的项目
GlobalSection(NestedProjects) = preSolution {EC902AF3-16FC-4585-8E2C-38948C31CD7E} = {A2DBE3AF-5C1C-4DE9-9C75-2ED7EAFCDB23} {95F3F804-C1EE-4ABC-ABE1-ACE0DCABC8A4} = {2319BA85-F1BE-41D8-A2D2-3A94CB90A89E} {BE70CBAA-0C1D-422E-A690-02ED9D38CAC0} = {2319BA85-F1BE-41D8-A2D2-3A94CB90A89E} {5B37C88D-09C0-451F-BA50-50FFD5FA567B} = {95F3F804-C1EE-4ABC-ABE1-ACE0DCABC8A4} EndGlobalSection
设置项目的层级
项目{EC902AF3-16FC-4585-8E2C-38948C31CD7E}在{A2DBE3AF-5C1C-4DE9-9C75-2ED7EAFCDB23}项目层级之下。
{A2DBE3AF-5C1C-4DE9-9C75-2ED7EAFCDB23}是个虚拟目录文件夹。请注意{EC902AF3-16FC-4585-8E2C-38948C31CD7E}之前非空格,也非简单的Tab.如果设置成空格或Tab将失效。
(2)Test.Entity.csproj
<Compile Include="kw_AdminEntity.cs" />
<Compile Include="kw_AdminEntity.generated.cs" >
<DependentUpon>kw_AdminEntity.cs</DependentUpon>
</Compile>
注意这个生成,在Vs中kw_AdminEntity.generated.cs在kw_AdminEntity.cs下面,当点击三角后可见。常使用这样的方法生成,不允许用户更改的代码。
(3)SettingEntity.cs
public partial class Setting
实体层代码,大家应该很熟悉,我们可以用partial关键字将用户代码和生成代码分开。