如何解决如何创建包含链接文件的Visual Studio项目模板?
| 在Visual Studio 2010中,我要创建一个项目模板,该模板包含指向系统上应存在的两个文件的链接。其中之一是通用的AssemblyInfo.cs文件。另一个是强名称密钥文件(* .snk)。 我需要这些引用是相对的,因为每个开发人员的工作区将设置为不同的。项目模板是否可能以某种方式弄清楚这些文件在每个开发人员环境中的位置? 通过阅读有关模板的信息,听起来好像它们是静态的,所以我想知道是否可以做一些技巧来做这样的事情。如果没有别的,我可以添加伪造的引用,这些伪造的引用会导致编译错误,并迫使开发人员将这些文件挂入。但是,如果我能为他们做的话,那会更好。解决方法
您应该在vstemplate中将CreateInPlace属性设置为
true
。该文件说
指定是创建项目并在指定位置执行参数替换,还是在临时位置执行参数替换,然后将项目保存到指定位置。
如果要使用相对路径,则需要在创建项目的位置而不是在临时位置进行参数替换。
,Microsoft已经确认这是扩展性模型和项目模板的错误。我设法使用IWizard解决了这个问题。我在IWizard实现的RunFinished方法中添加了以下代码:
//Get linked file directory
string coreDir = Path.GetDirectoryName(MyProject.FullName);
//Data folder
ProjectItem propertiesProjectItem = slSharedProject.ProjectItems.Cast<ProjectItem>().Where(p => p.Name == \"Data\").First();
propertiesProjectItem.ProjectItems.AddFromFile(coreDir + @\"\\Service\\TheFileIWantToLink.cs\");
此代码将TheFileIWantToLink.cs文件的副本链接到我的共享Silverlight项目(slSharedProject)。
,您可以尝试将向导集成到项目模板中,然后将路径设置为链接文件。如果我没记错的话,您不必创建用户界面;您只需要在replacesDictionary中指定正确的替换,VS将替换模板文件中的值。有关更多信息,请参见此内容。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。