gpt4 book ai didi

.net - 将未引用的项目从解决方案复制到解决方案的启动项目

转载 作者:行者123 更新时间:2023-12-04 06:18:55 29 4
gpt4 key购买 nike

是否可以将项目的输出从解决方案中复制到当前启动项目的 bin 文件夹中?甚至可以从 MSBuild 脚本中知道哪个项目是启动项目吗?我所说的项目是 PRISM 模块,由于它们的模块化,shell 项目没有引用它们。但是,我们仍然将它们添加到我们的解决方案中。

到目前为止,我们有一个非常简洁的解决方案来调试我们的应用程序。我们的基础设施项目(这是构建过程的最低级别)将删除一个 ...Shell\bin\Debug\Modules 文件夹。此应用程序的 Bootstrap 配置为直接从“模块”目录加载模块。所有模块项目都将其 OutputPath 配置到此文件夹。

这个构建过程的优点是我们可以通过简单地加载/卸载项目来选择我们想要调试的模块。模块文件夹总是在开始时被清空,并且只构建加载的项目。这是一种调试不同模块组合的免配置方式。

我们如何开始一个新的 PRISM 项目,该项目使用我们已经为其他 Shell 创建的模块。现在我面临的问题是这种舒适的设置不能再工作了。单个模块项目具有固定的 OutputPath,开发人员无法在不同的解决方案中毫无问题地重用项目。

顺便说一句,它不能是 MSBuild 脚本,但必须是自动化的。

编辑:我忘了强调同样的想法应该适用于使用通用模块的多个 Prism Shell,并且我可以同时处理多个 PRISM 产品。这就是为什么我不能对所有文件夹使用共享输出路径的原因。

最佳答案

您可以指定 AfterBuild在 MSBuild 中定位以复制其他项目的输出,如下所示:

<Target Name="AfterBuild">
<Copy SourceFiles="$(SolutionDir)MyProject1\bin\$(Configuration)\*.dll" DestinationFolder="$(TargetDir)"/>
<!-- repeat for other projects -->
</Target>

AFAIK,找出启动项目并非易事,因为该信息存储在 .suo 文件中。您可以探索编写自己的 MSBuild 任务或扩展 MSBuild Community task: GetSolutionProjects

关于.net - 将未引用的项目从解决方案复制到解决方案的启动项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6860688/

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