问题标签 [multitargeting]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
140 浏览

c# - 是否可以在 Visual Studio Code 中构建和测试多目标 c# dotnet 项目?

我有一个多目标 C# dotnet 项目,这些框架在 csproj 文件中定义:

但是,在浏览源代码时,我会遇到很多错误,例如: 在此处输入图像描述

这很奇怪,因为我使用了正确的预处理器定义,例如:

这在 Visual Studio Code 中是否可行?

编辑...

使用 Visual Studio 2019,项目构建良好,我可以像这样使用这个框架下拉列表: 在此处输入图像描述

0 投票
0 回答
268 浏览

c# - ASP.Net 网站和多目标框架 - 依赖错误

我有一个 ASP.Net 网站(真的很旧)。我们在解决方案中拥有的一个项目(我们称之为OurCore)已更新为支持 .NET Framework 4.6.1 和 .NET Standard 2.0。

当我在 Visual Studio 中构建解决方案时,我收到以下警告:“无法获取项目引用‘OurCore’的依赖项”。但是,我可以在 Visual Studio 中本地构建调试和发布。

当我尝试使用 TFS 自动构建来构建解决方案时,它失败并出现以下不同的错误: C:\agent_work\19\s\OurCommon\OurCore\OurCore.csproj : error MSB4057: The target "GetTargetPath" does not exist in the项目。

下面链接的这个 StackOverflow 问题与我得到的基本相同,但尚未解决。有没有人有任何想法?

asp网站项目中多目标框架的问题

0 投票
1 回答
354 浏览

msbuild - VStudio 总是为引用的多目标项目编译所有 TargetFrameworks,无论为 Uno 平台解决方案中的构建指定什么头

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

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

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

示例:我选择重建 App.iOS,它触发了引用项目的重建。我想要构建只有“xamarinios10”TargetFramework 的项目。

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

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

0 投票
1 回答
231 浏览

python - 具有多个连续目标的 scikit-learn 回归

我想对输入具有多个特征且输出具有多个连续目标的数据集执行回归。

我一直在查看 sklearn 文档,但我发现的唯一多目标示例有 1)一组离散的目标标签或 2)使用像 KNN 这样的启发式算法,而不是像回归这样的基于优化的算法。添加正则化也很好,但即使是简单的最小二乘,我也找不到方法。这是一个非常简单、平滑的优化问题,所以如果它还没有在某个地方实现,我会感到震惊。如果有人能指出我正确的方向,我将不胜感激!

0 投票
2 回答
674 浏览

c# - 创建多目标 Xamarin.Forms NuGet 包

我正在尝试构建一个可以安装在 Xamarin.Android、Xamarin.iOS、Xamarin.UWP 和 Xamarin.Forms(.NET 标准)项目中的 NuGet 包。我不能使用 .NET Standard,因为我需要Activity为我的 Android 项目自定义AppDelegate、为我的 iOS 项目自定义,以及为我的 UWP 项目自定义 MainPage。在发起程序中,我想使用ServiceCollection作为 DI 提供程序。

在文档中,他们仍然提到Portable Class Library(明确提到的遗留,在 VS 中不再存在),或手动创建包(无法弄清楚在这里做什么),然后你也有网站Xamarin.Forms Plugin提到也不再存在。

我已经为所有 4 个项目制定了解决方案,但我不知道如何为所有 4 个项目(所有 3 个目标平台)创建单个 NuGet 包。

有谁知道我们如何构建一个包含 Android、iOS 和 UWP 代码的多目标 NuGet 包,就像Xamarin.Forms NuGet 包一样?

我还看到过这样的讨论:如何创建一个项目来为支持 iOS、Android 和 UWP 的 Xamarin Forms 创建 Nuget 包?,但我不确定这是否仍然相关,因为build.propsandbuild.targets不再存在于 MvvmCross 存储库中。

0 投票
1 回答
246 浏览

xamarin.forms - 带有 XAML 的 Xamarin.Forms SDK 样式多平台项目

已定义多目标项目:

所以,当我只在代码中制作我的自定义组件时,所有代码都可以编译并且运行良好,但我想使用 XAML 开发一些自定义控件。但是我在 MyView 对象中对方法 InitializeComponent() 进行了模棱两可的调用错误。如何在 .csproj 中进行正确的条件配置,以便编译器理解 *.xaml 和 *.xaml.cs 文件?

0 投票
1 回答
45 浏览

ios - Objective C中的单元测试类参考问题

我正在开发目标 C 中的多目标 ios 项目。 Bridging-header 也提供了一些 swift 类。主要目标有一个单元测试目标作为主机应用程序。我必须对另一个特定目标 [说,SecondaryTarget] 进行单元测试。我已通过 Edit Scheme > Test 添加了“单元测试目标”以启用单元测试。我正在尝试导入现有类并进行单元测试。但是在导入类时,我总是在测试类中遇到参考问题[找不到文件]。

0 投票
1 回答
351 浏览

c# - Github Actions:推送 nuget xamarin.forms 包

我正在尝试配置一个 GitHub 操作,以构建我的多目标 Xamarin.Forms 插件并将包推送到 GitHub 和 NuGet。将包推送到 GitHub 和 NuGet应该不再是什么大问题了。我在 GitHub CI 上构建多目标 nuget 包时遇到问题。

首先,我有以下 GitHub 操作:

以及我的解决方案根目录中的以下 nuget.config,让操作了解 nuget 源以下载所需的 NuGet 包:

将此配置推送到我的 GitHub 存储库时,我在构建阶段收到以下错误:

然后我修改了我的工作流程以使用 msbuild 代替(至少在构建阶段之前:

但它仍然无法正常工作。

Github 操作中的控制台在大量文本之间打印以下错误:

所以这可能意味着 UWP 工具在 macos 上不可用。从输出中我可以看到 android 构建成功,iOS 构建成功,但 UWP 构建失败并显示前一条消息。

如何在 GitHub CI 中构建 Xamarin.Forms 包并将其推送到我的 nuget 源?

编辑:

好吧,我修改了我的工作流程以使用Windows and MSBuild而不是macos and dotnet,这让我更接近了。

此操作成功地将我的 nuget 包推送到 Nuget 和 Github,但是当我在 Xamarin.Forms 项目中安装此包时,我只能获得所有项目中可用的 UWP 类,而这些应该只在 UWP 中可用- 目标项目。

与我右键单击我的多目标项目并单击“打包”命令时不同,该包实际上可以正常工作。有谁知道我该如何解决这个问题?

0 投票
1 回答
193 浏览

visual-studio - Visual Studio Pack 命令背后有哪些命令?

我正在尝试配置一个 GitHub 工作流来构建我的多目标 NuGet 包(与 Xamarin.Forms 一起使用)并将这个包推送到 GitHub 和 Nuget。我在这里讨论了这个问题,这一切似乎都归结为以下几点:

我无法dotnet pack在我的工作流程中使用,它会导致以下错误:

当我使用 MSBuild(在我的计算机上手动或通过工作流)时,只有 UWP 声明可用,并且适用于所有目标平台(Android、iOS、UWP)。

当我右键单击类库项目并单击Pack命令时,生成的包按预期工作。所有平台都可以调用特定于平台的声明。

问题:

简单,【右键csproj-file】→Pack 后面有什么命令?我想尝试手动运行这些命令来弄清楚发生了什么......

信息:

  • 我的电脑上的 msbuild 版本:16.7.0.37604(位于C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin
  • GitHub CI 上的 msbuild 版本:16.7.0+b89cb5fde
  • GitHub CI 上的 dotnet 版本:3.1.301
0 投票
1 回答
583 浏览

c# - 如何选择要调试的构建目标?

如果我将项目多目标定位到 .Net Core 3.1 和 .Net Framework 4.8 并选择Debug | 开始调试,Visual Studio 2019 使用 .Net Framework 构建目标启动调试会话。

我怎样才能让它启动 .Net Core 构建目标?

这是我的测试项目文件:

这是测试代码:

项目中没有其他文件。我正在使用 Visual Studio 2019 版本 16.7.2。