首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VStudio始终编译引用的多目标项目的所有TargetFrameworks,无论为Uno-platform解决方案中的构建指定了什么头

VStudio始终编译引用的多目标项目的所有TargetFrameworks,无论为Uno-platform解决方案中的构建指定了什么头
EN

Stack Overflow用户
提问于 2020-06-17 22:24:39
回答 1查看 296关注 0票数 3

我正在开发一个使用Uno平台的跨平台应用程序。该应用程序由我的应用程序的5个标准head项目和十几个引用的跨平台库项目(Uno平台跨平台库项目,MSBuild.Sdk.Extras,VStudio 2019)组成。引用的项目库具有多目标框架,如: netstandard2.0;xamarinios10;xamarinmac20;MonoAndroid90;monoandroid10.0.解决方案结构如下所示:

代码语言:javascript
复制
- SolutionApp
    - App.Droid
    - App.iOS
    - App.macOS
    - App.UWP
    - App.Wasm
    - App.Shared
    - MultiTargetLibrary1
    ...
    - MultiTargetLibraryN

问题是,每次我重新构建任何头部应用程序项目时,VStudio都会为所有可用的目标框架重新构建引用的项目。

如何避免编译不必要的目标平台?引用的项目如何获取触发了构建的头项目?有没有可能通过VStudio的引用项目构建中需要哪个确切的目标框架?

示例:我选择重建App.iOS,它触发了引用项目的重建。我希望项目只有'xamarinios10‘的TargetFramework来建立。

如果只有几个目标框架或项目,编译速度并不慢,但随着引用项目数量的增加,时间会大大增加。

正如我从msbuild参考中得到的: VStudio分别为解决方案上的每个项目调用msbuild,因此msbuild不知道哪个头项目触发了引用项目的构建,以及需要哪个目标平台。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-17 22:29:07

这是一个已知的Visual Studio 2019 issue,其中所有目标都是构建的,而不考虑实际正在编译的head项目。

同时,您可以在构建应用程序时手动排除一些目标框架,并使用Visual Studio的solution filter feature,以便nuget不会抱怨无效的项目引用。这样,您可以创建4个筛选器,每个筛选器都排除了不用于您当前工作的平台的项目。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62431315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档