在Visual Studio web应用程序项目中,通过文件属性窗口设置的自定义工具信息将按文件存储在CSPROJ项目文件中。
在Visual Studio网站项目中,没有项目文件,只有具有某些全局配置的SLN文件。据我所见和所知,没有文件特定的信息存储在这里,这应该是网站项目类型的全部要点。
我仍然可以将普通和预处理(运行时) T4文本模板添加到网站项目中,但不能通过文件属性窗口进行自定义工具配置。尽管如此,Visual Studio知道并记住哪个模板属于哪种类型,即使用'TextTemplatingFileGenerator‘作为普通模板,或者使用'TextTemplatingFilePreprocessor’作为预处理模板,生成的输出是正确的。
这对我来说适用于Visual Studio 2010和2012中的新网站项目,但不适用于我手头的网站项目,该项目是手动从web应用程序转换为网站的。此项目中所有预处理的T4文本模板都是使用'TextTemplatingFileGenerator‘自动处理的,似乎没有办法改变这一点。当然,模板会崩溃,之后由于缺少类,项目将无法构建。
那么,Visual Studio如何管理网站项目中T4模板的自定义工具信息呢?
如果在Add New Item对话框中没有预编译的文本模板选项,我会说网站项目根本不支持自定义工具。但是文本模板已经存在,并且在某些情况下可以正常工作。
发布于 2013-04-25 18:12:21
我似乎需要一些时间才能意识到,没有什么能阻止我将模板从web项目中移出,并将它们放到库项目中,其中总是有一个项目文件,并且无论web项目的类型如何,它都会很好地工作,这就解决了我的问题。
我仍然不知道预编译的T4文本模板应该如何处理网页类型的项目。如果您了解更多信息,请随时对此进行扩展。
发布于 2013-05-21 10:45:58
当您执行“添加新项”时,项模板中的自定义向导DLL将设置预处理项。作为备用方案,该项目仅使用以下注册表项来设置常规模板。
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0_Config\Projects\{E24C65DC-7377-472b-9ABA-BC803B73C61A}\FileExtensions\.tt\CustomTool如果只有经过预处理的模板,则可以将其更改为TextTemplatingFilePreprocessor而不是TextTemplatingFileGenerator
否则,从add new item对话框中重新添加一组文件并复制内容就可以了。
https://stackoverflow.com/questions/16150497
复制相似问题