问题标签 [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.
c# - 如何使用 WPF 控件多目标库项目
我有一个需要针对 .NET 3.5 和 .NET 4.0 的类库项目,现在完成的方式是为每个目标框架创建单独的项目并将每个项目中的文件链接到同一源的典型方式。
我想利用 .NET Core 项目中出现的新 csproj 格式,因为新 csproj 格式的多目标更简单。
我创建了一个新的类库 (.NET Core) 项目并开始尝试移植我现有的库。
我真的不需要定位.netcoreapp2.0,所以我的目标框架看起来像这样
我有以下代码块来帮助解决.NET 3.5新 csproj 格式的奇怪问题。
到目前为止,一切都很好。事情开始走下坡路的地方是我的类库有 WPF 控件。我收到编译错误,因为它找不到System.Windows
和其他 WPF 相关的项目。
我发现我可以添加对其他 Windows 程序集的引用,所以我添加了以下内容
这消除了我的大部分错误,但现在我遇到了类似的错误The name 'InitializeComponent' does not exist in the current context
scikit-learn - scikit learn中的多目标岭回归如何工作?
我很难理解以下内容:
Scikit-learn 为 Ridge Regression 提供了多输出版本,只需传递一个 2D 数组 [n_samples, n_targets],但它是如何实现的呢?
http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Ridge.html
假设每个目标的每个回归都是独立的是否正确?在这些情况下,我如何调整它以对每个回归使用单独的 alpha 正则化参数?如果我使用 GridSeachCV,我将不得不交出一个可能的正则化参数矩阵,或者这将如何工作?
在此先感谢-我一直在搜索几个小时,但找不到有关此主题的任何内容。
c# - 多目标 net461 和 netstandard - 即使在 net461 消费者中也需要 netstandard 依赖项
net461
我正在开发一个我已经多目标的类库netstandard2.0
这个类库的依赖项之一是Microsoft.ApplicationInsights
当它仅针对net461时,我可以Microsoft.ApplicationInsights
通过包管理器控制台或 nuget ui 添加对 (v2.4.0) 的引用,它会将自身添加为依赖项。
一旦我对 csproj 进行了多目标处理:
...如果我尝试添加参考,它会要求我接受许多依赖项的许可协议。当然,我这样做是妥当的。
当我将这个类库打包为 nuget 包时,我的问题就出现了。
即使我的消费应用程序以 netstandard 为目标net461
,当我安装此软件包时,系统也会提示我安装所有 netstandard 依赖项——即使我的消费应用程序不以 netstandard 为目标。
有没有办法阻止我的net461
目标包需要所有依赖项netstandard
?
c# - Xamarin Xaml 和多目标
我正在为 Xamarin Forms 项目创建一个多目标类库,该项目将面向 .NET Standard 2.0、MonoAndroid 8.1 和 Xamarin.iOS 1.0。我了解如何有条件地包含基于平台进行编译的文件,以包含特定于平台的渲染器和实用程序。
我需要知道如何以不会破坏 resharper 和智能感知的方式包含 *.xaml 文件,并且不会因为 InitializeComponent 在 ContentPage 中脱离上下文而发出误报。设置 xaml 文件以构建动作 EmbeddedResource,使用 csproj 中的自定义工具 UpdateDesignTimeXaml,以及要编译的文件背后的代码,未检测到部分类,resharper 停止提供帮助等。
针对这些平台并包含 xaml 资源的多目标项目的 csproj 文件是什么样的?
visual-studio - 条件编译常量在 .net 核心多目标 sdk 样式项目中不起作用
以下是最初定义条件编译常量的方式(注意多目标):
当时NETCORE
常数工作正常。
我正在使用我的代码,当时我的程序集没有编译。
之后我添加了额外的条件编译常量(不编辑以前的 -NETFULL
和NETCORE
):
整体代码(汇编)仍未编译。
并根据需要删除了这个附加NETCOREONLY
的,只留下以前的(NETCORE
和NETFULL
)。
整体代码(汇编)仍未编译。
问题是它NETCORE
像以前一样停止工作。
我正在切换到netcoreapp2.0
平台,但代码在
对编译器不可见。它在VS中保持灰色。好像不是netcoreapp2.0
。
以下声明
应该NETCORE
不断为 工作netcoreapp2.0
,但事实并非如此。
ios - 在整个应用程序中动态更改字体系列
我正在开发一个多目标项目,该项目由两个应用程序组成,每个应用程序都有自己的品牌。
我已经区分了应用程序的应用程序名称、应用程序图标和品牌颜色,但现在我需要在从 API 获取品牌详细信息后动态切换应用程序的字体系列。
我要解决的问题是保持相同的字体大小但使用不同的字体系列。
我尝试找到一种方法来保持不同字体系列的字体大小相同,但没有成功,如果您有任何解决此特殊情况的建议,请告诉我。
win-universal-app - 多目标项目引发目标“_GetRestoreSettingsPerFramework”不存在
我正在尝试将我现有的 C# 项目之一更新为新的 Microsoft.NET.Sdk 项目结构。该解决方案由 net45、netstandard1.0 和 uap10.0 项目组成。
当我从 NuGet 包管理器控制台运行“ dotnet build ValueConverters.sln ”时,我收到以下错误:错误 MSB4057:项目中不存在目标“_GetRestoreSettingsPerFramework”。
当我使用 MSBUILD 在 Visual Studio 中构建相同的 ValueConverters.sln 解决方案时,一切正常。
可以在这里找到解决方案: https ://github.com/thomasgalliker/ValueConverters.NET/tree/develop
我究竟做错了什么?当我从 TargetFrameworks 中删除 uap10.0 时,它就像一个魅力。
c# - VS2017解决方案中引用多目标类库
在 VisualStudio 2017 中,我创建了一个面向 .net 4.0(以支持 win XP 上的旧版应用程序)和 4.6.1 框架的类库。我通过使用新的 .csproj 格式来做到这一点,该格式允许指定多个目标框架,如下所示。
为这两个框架构建库非常有效。我得到了我的两个文件夹,net40 和 net472,它们都包含特定目标框架的 dll。
在我的解决方案中,我现在还有两个项目。一个引用我的库的 WinForms 应用程序和一个也引用它的 WPF 应用程序。WinForms App 应该使用我的库的 net40 和 WPF App net472 版本。
当我在我的 WinForms 应用程序中添加对库的项目引用时,它使用 net40 版本。一切都很好。
但是当我将类库项目引用到我的 WPF 应用程序(为 net472 构建)时,它也使用 net40 dll。但我希望我的 WPF 应用程序使用库的 net472 版本。
在 VS2017 中引用多目标类库作为项目引用时,是否有可能选择目标框架?
更新: 当我从库中构建一个多目标 nuget 包并使用该包来引用它时,一切都很好。WPF 应用程序自动使用 net472 和 WinForms net40。
c# - 如何多目标 C# 类库以同时支持 NET_STANDARD 和 NET_COREAPP?
我有一个当前是多目标的类库,NET40
并且NETSTANDARD2.0
:
NETCOREAPP2.1
但是,我现在还需要支持一些新的 api,这些新 api是作为netstandard
.
我最初的想法是简单地扩展当前框架以包括NETCOREAPP2.1
:
在代码中我可以像这样使用新添加的 API:
但是,一旦在面向更高版本.NET Core的应用程序中使用该库后会发生什么?例如.NET Core 2.2?我必须为每个新发布的版本创建新的常量吗?
在理想的世界NETCOREAPP2.1
中会实施NETSTANDARD2.1
,但不幸的是事实并非如此。
csproj - 多目标netstandard1.0和netstandard2.0并排?
当我创建一个针对 netstandard1.2、netstandard2.0 和 net45 的多目标 .NET csproj 时,我是否必须在 .csproj 部分中包含两个 netstandard 名字对象,或者仅提及 netstandard1.2 就足够了(较低的网络标准版本)?
建议一:
<TargetFrameworks>netstandard1.2;net45</TargetFrameworks>
提案 B:
<TargetFrameworks>netstandard1.2;netstandard2.0;net45</TargetFrameworks>