问题标签 [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 投票
5 回答
709 浏览

vb.net - Multi targeting in vs2008 with crystal reports

Is there a way to make VS2008 work with the old (vs2005 crystal reports) assemblies and not require any updates to be installed in the client machines?

We have upgraded a Visual Studio 2005 .net 2.0 solution to Visual Studio 2008. The purpose is to take advantage of the IDE improvements and because it supports multi targeting. The solution still has to be built against .net 2.0.

It all works as advertised, we rebuild and run it in a machine with only .net 2.0 installed. But during testing we get an exception when we try to show a Crystal Report that is included with the application.

Then upon review we find out that without telling us, Visual Studio changed the references to the crystal assemblies and pointed our solution to the updated versions that come with vs2008, which requires crystal runtime be updated on client machines.

We did try removing the references and adding the old ones but it won't compile.

0 投票
4 回答
201 浏览

visual-studio-2008 - .Net 多目标出错了?

我在 VS 2008 中有一个小型虚拟项目,仅包含以下代码文件

该项目设置为目标框架2.0,甚至在项目中手动将ToolsVersion设置为2.0。现在该项目从 VS 构建得很好,并且从命令行失败(使用 csc.exe 2.0)。

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Csc.exe /noconfig /nowarn:1701,1702 /errorreport:prompt /warn:4 /define:DEBUG;TRACE /reference:C:\WINDOWS\Microsoft. NET\Framework\v2.0.50727\System.Data.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2。 0.50727\System.Xml.dll /debug+ /debug:full /filealign:512 /optimize- /out:obj\Debug\FrameworksTest.exe /target:exe Class1.cs Properties\AssemblyInfo.cs

现在的问题是为什么它是从 VS 编译的?它应该像在 cmd 行编译的情况下一样失败。相同的源在 VS2005 项目中失败(正确)。

谢谢,弗洛林

0 投票
5 回答
245 浏览

.net - 面向 .NET 2.0 的 VS2008 并没有阻止我使用 C# 3 功能

我有一个 VS2005 解决方案,并想在新的一年里下车 VS2005。我对升级过程非常满意,并且惊喜地发现我的构建脚本大部分仍然有效。

我的问题是关于多目标功能的——我的服务器上没有安装 .NET 3.5,所以我必须继续以 .NET 2.0 为目标。这主要是有效的,但我发现我可以做类似的事情

...并且仍然成功调试项目。

当我将该代码发送到构建服务器时,构建失败,说“var”没有定义。

那么,我应该期待哪个?

  1. VS2008,针对.NET 2.0,当我尝试做 C# 3 的事情时应该会抛出错误
  2. 构建服务器,意识到我的目标是 .NET 2.0,应该了解我在做什么并将它编译成与 2.0 兼容的二进制文件

有任何想法吗?

0 投票
2 回答
1258 浏览

.net - 如何让 Nant 使用 4.0 编译器来定位 .Net 3.5

是的,我知道这听起来有点疯狂,但我已经在现场部署了 .Net 3.5,我想使用新的 4.0 编译器来定位它。

在最新版本的 Vb.Net 和 C# 中有几个新的语法糖功能,我想使用它们,但我无法(目前)在我的客户群上强制使用新版本的 .Net 框架和 CLR。

在反对者双脚加入之前...我刚刚成功使用 Studio 2010 编译了一个 3.5 目标应用程序,该应用程序使用了 VB.Net 自动属性(VB.Net 10 中的一个新功能),所以我知道编译器有某种能力。

所以回到我的问题....我如何说服 Nant 使用 4.0 编译器,但以 .Net 3.5 (CLR 2.0) 为目标

更新:我使用的是 csc 和 vbc 任务,而不是解决方案任务。尽管此时我会解决如何直接与编译器一起执行此操作的答案。

0 投票
1 回答
239 浏览

visual-studio-2010 - 多目标地狱和更改项目默认值

好的。我今天对 WPF 项目有点疯狂。我将 VS2010 与 .NET 4.0 一起使用,并在我的解决方案中添加了对另一个项目的简单引用,添加了其中一种引用类型的成员变量并尝试编译。没有。嗯,有些东西。它根本不认识这种类型。

我在命名空间使用语句进行了验证。Intellisense 似乎很喜欢它。事实上,Visual Studio 完全满足于让我通过Go To Definition功能浏览类。

你们中的一些人已经知道这是什么,但我以为我快疯了。

WPF 项目默认使用客户端配置文件,而其他项目则针对完整的 .NET 4.0。我关闭了警告(愚蠢),所以我没有看到有关客户端配置文件不匹配的警告消息。

有没有其他人认为让 WPF 项目默认为客户端配置文件目标而其他项目默认为完整的 .NET 4.0 是愚蠢的?

...这让我想到了我的问题。是否可以更改此默认设置,以使这种情况不再发生?我想始终针对一个平台或另一个。

0 投票
2 回答
6779 浏览

.net-3.5 - 带有针对 3.5 的程序集的 VS 2010 .NET Framework 问题抱怨它需要更高版本的 .NET Framework

我遇到了一个针对 .NET 3.5 的程序集的奇怪问题。通过添加引用/浏览到 DLL 包含此程序集时 - 它抱怨:

“MyAssembly.dll”或其依赖项之一需要比项目中指定的版本更高的 .NET Framework 版本。您可以通过单击“项目”菜单上的“属性”,然后在“.NET Framework”下拉框中选择一个新目标来更改 .NET Framework 目标。(在 Visual BVasic 中,通过单击“高级编译器选项...”按钮位于“编译”选项卡上。)您仍想在项目中添加对“MyAssembly.dll”的引用吗?

这个错误似乎没有任何押韵或理由——我们已经尝试了“显而易见”的事情。

使用 DLL 的程序集是 .NET 3.5。DLL 是 .NET 3.5。每个使用的所有程序集都是 .NET 3.5。没有使用 .NET 4.0 [AFAIK]

我可以检查/做什么?DLL 中有一些 COM 互操作 - 可能是这样吗?该项目已从 VS 08 移至 VS 10 - 但同样,仍以 .NET 3.5 为目标。我验证了参考下列出的所有程序集都针对正确的 CLR 版本 [2]。

将目标项目升级到 .NET 4 确实消除了这个问题——但这不是我们目前能够做的事情。

  • 我还应该注意,通过 References/Project [相同的解决方案] 包含它似乎确实有效 - 当将 DLL 降级到 .NET 3.0 时。[这可能不完全准确 - 正在测试很多东西]

在这一点上我没有想法。

0 投票
3 回答
99 浏览

c# - 如何使我的库简单,但针对不同的框架?

我创建了一个名为Chargify.NET的 API 包装器,并且我开始看到一种可以通过定位 .NET 4 来解决的模式。

问题在于,当它们增强 API 时,我需要创建越来越多的重载函数来处理一个特定操作(在本例中为创建订阅)。现在,我有很多(我认为太多)重载的 CreateSubscription 函数,并且很难管理不同的签名。

是否可以(和/或建议)针对 .NET 4 构建库并使用可选参数并希望库的用户可以使用 .NET 4 库?还是我应该继续沿着 3.5 的道路前进?或者以某种方式同时针对两者?

需要对此进行一些讨论..

0 投票
2 回答
4853 浏览

objective-c - XCode:两个目标,两个主要文件?

我正在 XCode 中开发一个游戏,我想添加一个帮助应用程序,它使用主应用程序的各种类来构建主应用程序的数据文件。

具体来说:主要应用是纸牌游戏。我想要一个辅助应用程序,它使用 card.m 等类,同时为游戏使用的自定义卡片组创建 deck.xml 文件。

我的直觉是,这样做的自然方法是向应用程序“Card Adder”添加第二个编译目标,以构建这个 xml 文件。与主应用程序 Cocoa Touch 不同,我可以将它作为一个 Shell 应用程序,以进一步使其快速和肮脏。

这是我的挂断电话,我的问题是:第二个目标的主要程序是什么?查看我现有的 main.m 文件,我发现它只与主游戏应用程序相关联。到目前为止,一切都很好。但是我当然不能为 helper/shell 应用程序添加第二个 main.m 文件。

我该如何解决这个问题?我用什么代替 main.m?我如何向编译目标“Card Adder”发出信号,表明这个新文件将包含它的主子程序?

0 投票
2 回答
1326 浏览

android - 针对多个 Android 版本的动态类加载

我想为多个 Android 版本(可能每个版本)制作一个 Android 应用程序我的问题是我想检查应用程序当前运行的 Android 版本是什么,并动态加载一个依赖于版本的类. 这部分应该没问题。

我只是想知道如何在我的 Eclipse 项目中没有编译错误的情况下实现这一点。我的意思是,该项目是为特定目标(1.5、2.1 ...)配置的,因此如果我的项目中的某个类与所选目标不兼容,则会导致错误。

有没有办法导出这些类,即使它们不适合平台(我想过一个单独的库,但又一次:如何在没有编译 pbs 的情况下将这些类编译成一个库?)?这应该没问题,因为在我检查 Android 版本后要求他们加载之前,它们不会被加载。

谢谢!

0 投票
3 回答
154 浏览

c - #includes 在 C 文件中,用于特定于处理器的实现

我正在研究专门为一种嵌入式处理器编写的“C”代码库。我已经为 LED、GPIO 线和 ADC(使用结构等)编写了通用的“伪面向对象”代码。我还编写了大量代码,以与硬件/目标无关的方式利用这些“对象”。

我们现在正在混合使用另一种处理器类型,我想保留当前的代码结构,以便我仍然可以使用更高级别的库。但是,我确实需要为较低级别的代码(LED、GPIO、ADC)提供不同的实现。

我知道 .C 文件中的#includes 通常被看不起,但在这种情况下,它合适吗?例如:

如果这是不合适的,那么更好的实现是什么?

谢谢!