如何通过 Visual Studio 2008 中的 T4 文本模板访问 csproj 文件

本文关键字:访问 csproj 文件 文本 T4 Visual 何通过 Studio 2008 中的 | 更新日期: 2023-09-27 18:31:10

如何在Visual Studio 2008中通过T4文本模板访问csproj文件?

我已经试过了,但它不起作用:

using(StreamReader assemblyInfoReader = File.OpenText(Host.ResolvePath("ProjectName.csproj")))
{
 ...
}

我收到的错误消息是"无法找到文件"。

当我键入绝对路径时,我得到的消息是"长度不能为零"。

当我尝试打开其他文件(例如AssemblyInfo)时.cs它工作正常。

顺便说一句,我正在尝试从csproj文件中访问ApplicationVersion标签。这与从以下位置返回的内容不同:

Assembly.GetExecutingAssembly().GetName().Version.ToString();

如何通过 Visual Studio 2008 中的 T4 文本模板访问 csproj 文件

尝试使用此方法获取 .csproj 路径...

string csprojPath = Host.TemplateFile.Replace(Path.GetFileName(Host.TemplateFile), "ProjectName.csproj");

"Host.Templatefile"获取"TemplateFileName.tt"的路径

这是假设 .TT 文件与您的 .csproj 位于同一文件夹中