1

我觉得我有一个大问题。

我有两个项目的解决方案。

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

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

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

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

不知道有没有可能...

非常感谢

4

3 回答 3

3

你需要T4模板在这里

代码生成和 T4 文本模板

于 2012-06-22T07:49:58.347 回答
3

Visual Studio 有一种称为单文件生成器/自定义工具的机制,它正好针对这个用例:fileUI.cs在另一个文件发生更改时生成一个文件(在你的情况下)(fileSA.cs)。

请参阅 MSDN 文章实现单文件生成器以了解如何编写此类自定义文件生成器。

PS:虽然这将是适当的机制,但我认为它不会跨越项目边界。

于 2012-06-22T09:02:36.553 回答
1

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

于 2012-06-22T07:50:46.857 回答