我正在編寫一個應用程序,可以在Visual Studio中創建SQL文件。用戶將通過包管理器控制檯輸入命令,該控制檯將生成sql腳本並將它們存放在Visual Studio項目中的特定目錄中。自動在Visual Studio項目中包含生成的文件
我遇到的問題是,生成文件時,它們出現在文件系統上,但不在Visual Studio中。這當然是需要的,因爲我需要然後去解決方案資源管理器中積極地包含這些文件,但這不是我想要的。我希望文件在生成後立即出現在解決方案資源管理器中。
我已經看到了類似的問題的各種解決方案主要特色的.csproj的文件的修訂,如該
<Compile Include="Sql\**\*.sql" />
,但是這不是我要找的。我所追求的內容與例如Entity Framework或MvcScaffolding的工作方式類似,當命令在PMC中運行時,文件/文件夾會神奇地放入項目中。我意識到這會在T4模板上運行,但對於像這樣的簡單問題,這似乎太複雜了。
我應該有資格證明在創建文件時沒有voodoo,只是普通的舊File.Create()的東西。
我願意接受任何建議。
謝謝。
您好,感謝答案。原因恰恰在於Source控制的目的。生成的sql文件只是開發人員將在後代中正確填寫的模板。 –
很好。然而,它仍然是我非常奇怪的要求。你正在談論的這個包管理器控制檯是什麼(NuGet?)。 SQL如何以及由誰生成?他們如何以及由誰使用? – Vitaliy
它實際上是一個數據庫遷移工具。你可以在控制檯中輸入一些參數(是的,「nuget」控制檯),指定版本號和遷移名稱,該工具會啓動遷移sql模板,並填入特定遷移所需的實際SQL 。非常類似於實體框架工具集,但由於複雜的原因,我們沒有使用它。 –