我今天正在研究類似的設置,我發現它確實可行,但在導出模板後需要手動調整您的WebsiteProject的csproj文件。另外還有一些Bug,在ProjectReference標籤下的Name標籤中沒有令牌替換。
Basicly你想要的csproj文件包含以下內容:
<ItemGroup>
<ProjectReference Include="..\$SolutionName$.Library\$SolutionName$.Library.csproj">
<Project>{8a8efea7-e80c-4de2-8c35-ced49a814675}</Project>
<Name>ClassLibrary</Name>
</ProjectReference>
</ItemGroup>
請注意,我並沒有取代<名稱>標籤值,因爲令牌替換不工作。幸運的是,這似乎不妨礙參考文獻的工作。
編輯: 使用$ safeprojectname $將引用項目本身。如果你的類庫有一個硬編碼名稱,這不是一個真正的問題,但在我的情況下,我想要一個像「NewProject.Library」這樣的名稱,我通過在我的多項目vstemplate文件中添加一個CustomParameter $ SolutionName $來解決此問題:
<CustomParameters>
<CustomParameter Name="$SolutionName$" Value="$safeprojectname$"/>
</CustomParameters>
在Multi-Project vstemplate文件中,你把'CustomParameters'塊放在哪裏?我添加了它,並改變了我的'.proj'使用'$ SolutionName $',但我沒有得到它來替換參數,它只是留下那些確切的字符在那裏。 – KyleMit 2013-10-28 21:51:31
@KyleMit在我的中找到標籤作爲第一個孩子。 –
IvanL
2013-10-29 09:27:54
呵呵,那就是我的位置,Visual Studio Designer給了我這個[**警告**](http://i.imgur.com/H5eGQJF.png)。雖然[MSDN文檔](http://msdn.microsoft.com/en-us/library/ms247063.aspx)似乎與您一致。也許我在別的地方有個問題。 – KyleMit 2013-10-29 13:35:13