gpt4 book ai didi

visual-studio - SharePoint 项目类型包名称是否有 MSBuild 宏?

转载 作者:行者123 更新时间:2023-12-04 17:54:49 27 4
gpt4 key购买 nike

我有一个包含多个 SharePoint 2010 项目的 Visual Studio 2010/2012 解决方案。在构建或打包事件中,我希望 VS 将输出的 WSP 和 PDB 文件自动复制到我的解决方案根目录下的一个公共(public)文件夹中,这样我就不必手动从每个项目的 bin\$(Configuration) 文件夹中获取它们。

我在每个项目文件中添加了以下元素:

<Target Name="CopyPackage">
<Exec WorkingDirectory="$(PackagePath)" Command="copy &quot;$(TargetDir)$(TargetName).wsp&quot; &quot;$(SolutionDir)Builds\$(TargetName).wsp&quot;" ContinueOnError="False" />
<Exec WorkingDirectory="$(PackagePath)" Command="copy &quot;$(TargetDir)$(TargetName).pdb&quot; &quot;$(SolutionDir)Builds\$(TargetName).pdb&quot;" ContinueOnError="False" />
</Target>
<PropertyGroup>
<BuildDependsOn>$(BuildDependsOn);CreatePackage;CopyPackage</BuildDependsOn>
</PropertyGroup>

到目前为止一切顺利,一切正常。

每个项目包名称控制输出 WSP 文件的名称,可以与输出程序集 DLL 文件的名称不同。

Visual Studio SharePoint Project Package Name http://imageshack.us/a/img842/322/vsspprojectpackagename.png

在此示例中,WSP 将被命名为 Acme.Edms.SP.ContentTypes.WSP。

碰巧我希望我的 WSP 使用与项目和程序集稍有不同的名称。但是,如果我更改包名称,它会破坏 CopyPackage 目标,该目标使用映射到程序集名称的 $(TargetName)。

是否有 (SharePoint) 包名称的 MSBuild 宏,以便我可以修复项目文件中的上述 MSBuild 元素?

更一般地说,MSBuild 是否有一组特定于 SharePoint 项目和项类型的宏?

相当于 Macros for Build Commands and Properties 的东西.

谢谢

最佳答案

这是 SharePoint specific MSBuild properties 的列表并且没有关于包名称的信息。因此,您必须为此使用解决方法,例如

首先你会得到像这样的包文件和 pdb 文件的列表:

<ItemGroup>
<PackageFiles Include="$(BasePackagePath)\*.$(PackageExtension)" />
<PdbFiles Include="$(BasePackagePath)\*.pdb)" />
</ItemGroup>

然后您就可以在常规复制命令中使用它了。

我没有测试它,但它应该可以工作。

关于visual-studio - SharePoint 项目类型包名称是否有 MSBuild 宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16378620/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com