我目前正在开发一个多项目模板。我正在使用此处记录的方法:如何:创建多项目模板 http://msdn.microsoft.com/en-us/library/ms185308.aspx。该模板将具有一个主网站模板(根据 MVC3 模板建模)和一些附加调用库模板,以保持功能独立。
例子:网站项目1位于模板项目的一个文件夹中,其所有文件和 .vstemplate 都位于该文件夹下。类库1位于模板项目中的另一个文件夹下,并且也有自己的 .vstemplate 文件。
我的问题是,如何在 WebsiteProject1 中为 ClassLibrary1 设置引用,以便在从模板创建项目时,引用存在并解析?这可能吗?
我今天正在进行类似的设置,我发现这确实是可能的,但它需要在导出模板后手动调整 WebsiteProject 的 csproj 文件。此外,还存在某种错误,即 ProjectReference 标签下的名称标签中没有令牌替换。
基本上您希望 csproj 文件包含以下内容:
<ItemGroup>
<ProjectReference Include="..\$SolutionName$.Library\$SolutionName$.Library.csproj">
<Project>{8a8efea7-e80c-4de2-8c35-ced49a814675}</Project>
<Name>ClassLibrary</Name>
</ProjectReference>
</ItemGroup>
请注意,我没有替换 标记值,因为令牌替换不起作用。幸运的是,这似乎并没有妨碍参考文献的工作。
EDIT:
使用 $safeprojectname$ 将引用项目本身。如果您的类库有硬编码名称,这并不是真正的问题,但就我而言,我想要一个像“NewProject.Library”这样的名称,我通过在我的多项目 vstemplate 文件中添加一个 CustomParameter $SolutionName$ 来解决这个问题:
<CustomParameters>
<CustomParameter Name="$SolutionName$" Value="$safeprojectname$"/>
</CustomParameters>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)