自动在Visual Studio Project中包含生成的文件

Gre*_*ith 3 c# scaffolding visual-studio

我正在编写一个应用程序,可以在visual studio中创建SQL文件.用户将通过Package Manager控制台输入命令,该控制台将生成sql scrips并将它们存放在Visual Studio Project中的特定目录中.

我遇到的问题是,生成文件时,它们存在于文件系统中,但不存在于Visual Studio中.当然,这是预期的,因为我需要在解决方案资源管理器中主动包含文件,但这不是我想要的.我希望文件在生成后立即"神奇地"出现在解决方案资源管理器中.

我已经看到了类似问题的各种解决方案,主要是修改.csproj文件,例如这个

<Compile Include="Sql\**\*.sql" />
Run Code Online (Sandbox Code Playgroud)

但这不是我想要的.我所追求的是类似于实体框架或MvcScaffolding工作的方式,当文件/文件夹在PMC中运行时,文件/文件夹就会神奇地落入项目中.我知道这会影响T4模板化,但对于像这样的简单问题来说,这似乎太复杂了.

我应该确定在创建文件时没有伏都教,只是简单的旧File.Create()东西.

我愿意接受任何建议.

谢谢.

Cha*_*ley 6

查看这个答案,找出适合我的解决方案.我有相同的用例,代码输出平面文件,我需要在项目中包含此输出.

在.csproj文件的末尾添加以下内容:

<Target Name="BeforeBuild">
    <ItemGroup>
        <Content Include="Sql\**\*.sql" />
    </ItemGroup>
</Target>
Run Code Online (Sandbox Code Playgroud)