Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 像Windows窗体使用.designer.cs一样生成代码_C#_Visual Studio_Visual Studio 2005_C# 2.0 - Fatal编程技术网

C# 像Windows窗体使用.designer.cs一样生成代码

C# 像Windows窗体使用.designer.cs一样生成代码,c#,visual-studio,visual-studio-2005,c#-2.0,C#,Visual Studio,Visual Studio 2005,C# 2.0,我想我有个大问题 我有两个项目的解决方案 第一个是UI项目。 算法服务中的第二个 在编译类之前,我需要在UI部分中生成(或覆盖)一个类(fileUI.cs) 其主要思想是,当您在de服务部分(fileSA.cs)中编辑一个类并在UI部分(fileUI.cs)中的类使用服务部分类信息(fileSA.cs)更新并编译之前构建解决方案时 我认为VS对每个表单(用户控件…)的.designer.cs所做的类似 我不知道这是否可能 非常感谢您需要T4模板 你需要T4模板在这里 您可以在项目中添加自定义

我想我有个大问题

我有两个项目的解决方案

第一个是UI项目。 算法服务中的第二个

在编译类之前,我需要在UI部分中生成(或覆盖)一个类(fileUI.cs)

其主要思想是,当您在de服务部分(fileSA.cs)中编辑一个类并在UI部分(fileUI.cs)中的类使用服务部分类信息(fileSA.cs)更新并编译之前构建解决方案时

我认为VS对每个表单(用户控件…)的.designer.cs所做的类似

我不知道这是否可能


非常感谢

您需要T4模板


你需要T4模板在这里


您可以在项目中添加自定义msbuild目标(右键单击project->编辑项目文件)。有关msbuild目标的详细信息,请参阅。您可以作为此目标的一部分运行自定义任务。生成代码的一种方法是使用T4模板。有关在构建过程中运行t4模板的详细信息。Oleg Sych对T4有很多详细的解释,并且在这方面有一定的权威性,所以他是一个很好的起点。

您可以在项目中添加自定义msbuild目标(右键单击project->edit project file)。有关msbuild目标的详细信息,请参阅。您可以作为此目标的一部分运行自定义任务。生成代码的一种方法是使用T4模板。有关在构建过程中运行t4模板的详细信息。Oleg Sych对T4有很多详细的解释,并且在这方面有一定的权威性,所以他是一个很好的起点。

Visual Studio有一个称为单文件生成器的机制/自定义工具正是针对这个用例:生成文件(
fileUI.cs
)当另一个文件发生更改时(
fileSA.cs

请参阅MSDN文章,了解如何编写此类自定义文件生成器


注:虽然这是一种合适的机制,但我认为它不会跨项目边界工作。

Visual Studio有一种称为单文件生成器的机制/自定义工具正是针对这个用例:生成文件(
fileUI.cs
)当另一个文件发生更改时(
fileSA.cs

请参阅MSDN文章,了解如何编写此类自定义文件生成器


注:虽然这是一个合适的机制,但我认为它不会跨越项目边界。

请看:我发现这个网站对任何其他有同样问题的人来说都很有趣。看:我发现这个网站对其他有同样问题的人来说很有趣+1用于使用VS中的扩展点了解其含义。(但遗憾的是,我的COM技能已经生锈了)+1,因为我使用了VS中的扩展点来理解它们的含义。(但遗憾的是,我的通信技术已经生锈了)