我有幾個SharePoint 2010項目的Visual Studio 2010/2012解決方案。在構建或包事件中,我希望VS自動將輸出WSP和PDB文件複製到我的解決方案根目錄中的公用文件夾,因此我不必從每個項目的bin \ $(Configuration)文件夾中手動獲取它們。是否有SharePoint項目類型包名的MSBuild宏?
我增加了以下內容對每個項目文件:
<Target Name="CopyPackage">
<Exec WorkingDirectory="$(PackagePath)" Command="copy "$(TargetDir)$(TargetName).wsp" "$(SolutionDir)Builds\$(TargetName).wsp"" ContinueOnError="False" />
<Exec WorkingDirectory="$(PackagePath)" Command="copy "$(TargetDir)$(TargetName).pdb" "$(SolutionDir)Builds\$(TargetName).pdb"" ContinueOnError="False" />
</Target>
<PropertyGroup>
<BuildDependsOn>$(BuildDependsOn);CreatePackage;CopyPackage</BuildDependsOn>
</PropertyGroup>
到目前爲止好,工作正常。
每個項目包名稱控制輸出WSP文件的名稱,並且可以不同於輸出程序集DLL文件的名稱。
在這個例子中,WSP將被命名爲Acme.Edms.SP.ContentTypes.WSP。
恰巧我想讓我的WSP使用與項目和程序集有所不同的名稱。但是,如果我更改軟件包名稱,則會打破使用映射到程序集名稱的$(TargetName)的CopyPackage目標。
是否有用於(SharePoint)軟件包名稱的MSBuild宏,以便我可以在我的項目文件中修復上述MSBuild元素?
更一般地說,MSBuild是否有一組特定於SharePoint項目和項目類型的宏?
相當於Macros for Build Commands and Properties的東西。
感謝