假设我的Visual Studio项目中存储了一个文本文件(例如SQL查询)。有什么办法可以将文件的内容保存到编译时的变量 吗?我只想在自己的文件中有一些文本,而不是在我的源代码中有一个非常长的引用字符串;但我不想让必须部署(或跟踪)文件的麻烦。
答案 0 :(得分:0)
您可以使用T4模板执行此操作。你需要的是3件事
您的template.tt
文件
<#@ template debug="true" hostSpecific="true" #>
<#@ output extension=".cs" #>
<#@ Assembly Name="System.Core" #>
<#@ Assembly Name="System.Windows.Forms" #>
<#@ import namespace="System" #>
<#@ import namespace="System.IO" #>
<#
string TextFromFile = File.ReadAllText(Host.ResolvePath("my_file_next_to_my_template.txt"));
#>
// This is the output code from your template
namespace MyNameSpace
{
class MyGeneratedClass
{
static void main (string[] args)
{
System.Console.WriteLine("<#= TextFromFile #>");
}
}
}
如果您不想将您的模板配置为在构建中重新创建,那么只需打开它并保存即可。