我有一个工作角色,其中包含对一些 nuget 包的引用,这些包将一些需要的运行时文件作为构建后步骤拖放到项目 bin 文件夹中。
我面临的问题是这些文件没有被复制到已发布的工作角色,因为它们没有被工作角色 .csproj 跟踪
工人角色.csproj:
...
<Import Project="[path-to-nupkg]\build\package.targets" Condition="Exists('[path-to-nupkg]\build\package.targets')" />
package.targets 复制构建后的资源,因此构建后的工作角色 bin 文件夹包括:
MyWorkerRole.dll
resource.txt
Resources\another_resource.txt
但是,在打包工作人员角色以进行部署时,WorkerRole.cspkg 仅包含MyWorkerRole.dll
.
我尝试通过将以下内容添加到我的 .ccproj来遵循向 Windows Azure 应用程序角色动态添加内容:
<Target Name="BeforeAddRoleContent">
<ItemGroup>
<AzureRoleContent Include="Resources\*">
<RoleName>MyWorkerRole</RoleName>
</AzureRoleContent>
</ItemGroup>
</Target>
但是该文件夹没有被删除,并且在打包过程中我没有收到任何错误。
编辑:有人建议我尝试使用Role Content Folders,但我的问题是资源来自 Nuget 包。所以至少在构建时间之前不可用(实际上作为构建后任务被删除)。