Visual studio 我可以使用TargetFileName将文件放置在Visual Studio模板中的目录中吗?
我有一个带有基类的.cs文件,我想在许多项目中使用它。我首先将这个cs文件放在项目文件夹上方(沿着.sln)。然后,在项目中,我改变了Visual studio 我可以使用TargetFileName将文件放置在Visual Studio模板中的目录中吗?,visual-studio,templates,Visual Studio,Templates,我有一个带有基类的.cs文件,我想在许多项目中使用它。我首先将这个cs文件放在项目文件夹上方(沿着.sln)。然后,在项目中,我改变了 到 这是可行的,文件图标会有一个小的快捷箭头 当我想将项目导出为项目模板时,问题就出现了。基类不包含在模板中,因为它位于项目文件夹之外。我已尝试将BaseClass.cs添加到模板zip并添加 BaseClass.cs 到MyTemplate.vstemplate,但我得到错误: VSTemplate文件中的目标文件名无效,它包含完全限定的路径 如果我删除
到
这是可行的,文件图标会有一个小的快捷箭头
当我想将项目导出为项目模板时,问题就出现了。基类不包含在模板中,因为它位于项目文件夹之外。我已尝试将BaseClass.cs添加到模板zip并添加
BaseClass.cs
到MyTemplate.vstemplate,但我得到错误:
VSTemplate文件中的目标文件名无效,它包含完全限定的路径
如果我删除
。\
,它将直接包含该文件。
如果我将
放在.vstemplate文件之外,而将
放在模板的.csproj文件中,它将在用户/me/AppData/Local…
中查找该文件
如何使模板引用项目目录之外的文件?这是一个Microsoft尚未解决的已知问题:您应该在VSTemplate中而不是在项目中映射文件夹。VS只在模板中进行操作 举个例子。下面的示例将文件从“InnerFolder”复制到根目录
<Folder Name="InnerFolder" TargetFolderName="." >
<ProjectItem ReplaceParameters="true" TargetFileName="Web.config">Web.config</ProjectItem>
</Folder>
Web.config
我找不到的论坛帖子。谢谢我知道它还没有为VS2012修复,但碰巧知道它是否已为VS2013修复?是的,不幸的是,它与VS2013相同。我正在为这个问题制定解决方案。关键的想法是为模板项目创建一个向导。这个链接也很有趣:FWIW它在VS2017中不是固定的,我可以在VS2017中复制同样的内容。