作为构建过程的一部分,我生成了一些在创建 clickonce 部署时应包含的文件。
Here http://blogs.msdn.com/mwade/archive/2008/06/29/how-to-publish-files-which-are-not-in-the-project.aspx是某人的博客文章,告诉您如何包含不属于项目的项目。但是,正如有人在该博文的评论中提到的那样,当您在“BeforePublish”任务中执行此操作时,它不会更新部署清单,并且文件不会下载 - 如果您在“BeforeBuild”中执行此操作,则效果很好任务虽然。
这给我带来了先有鸡还是先有蛋的问题,因为我必须首先执行构建才能生成我想要包含的文件。
有人有解决方案吗?
(附:目前使用 mage.exe 生成 clickonce 部署不是一个选项,必须使用 Publish 目标来完成)
查看这个帖子 http://blogs.msdn.com/mwade/archive/2008/06/29/how-to-publish-files-which-are-not-in-the-project.aspx。我很确定这就是我在此处设置部署过程时使用的。
我们需要在 bin 目录中包含非 .net dll 才能使我们的应用程序正常工作,它们已经构建好了,所以我不会遇到“需要先构建”的问题。但是我将“包含”作为发布前 target:
<Target Name="BeforePublish" DependsOnTargets="IncludeAdditionalPublishFiles;
ReleaseModeUpdateConfig;
ReleaseModeInsertDatabaseRecords " />
<ItemGroup>
<AdditionalPublishFile Include="..\..\..\..\..\SharedDependencies\Leadtools\Leadtools.Codecs.J2k.dll">
<Visible>False</Visible>
</AdditionalPublishFile>
</ItemGroup>
<Target Name="IncludeAdditionalPublishFiles" Condition=" '$(Configuration)' == 'Release' And Exists('@(IntermediateAssembly)') " >
<Touch Files="@(IntermediateAssembly)" />
<CreateItem Include="@(AdditionalPublishFile)" AdditionalMetadata="TargetPath=%(FileName)%(Extension);IsDataFile=false">
<Output TaskParameter="Include" ItemName="_DeploymentManifestFiles" />
</CreateItem>
</Target>
如你看到的,包括其他发布文件“包含”是否有效(查看博客文章“这里到底发生了什么”),我还更新了配置并在 SQL Compact Db 中设置了一些值。
需要一些尝试和错误才能得到正确的结果,但最终会起作用。请注意,您可以根据需要添加任意数量的AdditionalPublishFile。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)