当 Windows Phone 应用程序处于 ARM 构建配置时,便携式 Class 库不会重新编译
Portable Class Libraries not recompiling when Windows Phone app is in ARM build configuration
我刚刚开始使用 Lumia(以前称为诺基亚)成像库。由于库的某些限制,必须使用 ARM 或 x86 构建配置。
没关系,但我有三个可移植的 class 库供应用程序引用。每当我对这些进行更改时,我都必须将构建配置更改回 Any CPU,然后再更改回 ARM,以便我可以部署到设备。
如果我不将构建配置更改为任何 CPU 并再次返回,那么我所做的更改似乎不会被编译。我的 x86 构建配置如下所示:
因此,看到三个 PCL 只有 ANY CPU 构建配置,我为每个创建了 x86,但构建产生了以下错误:
一个或多个项目目标不支持平台目标 'x86'。
知道如何设置项目以便我不必为 ARM 和 x86 构建配置构建它两次吗?
首先,您应该在要为当前活动平台编译的任何项目中启用 Build
复选框。如果没有,该项目将不再被编译,如果它被任何其他项目引用,他们将回退使用位于 bin/obj 文件夹中的缓存版本;执行 Clean
和 Rebuild
将突出显示哪些程序集在未先编译的情况下被引用。
接下来,将平台视为配置选项,允许解决方案中的所有项目使用一个目标架构或其他目标架构构建,具体取决于您要去哪里deploy/run:这在您拥有不支持 AnyCPU
的本机代码项目,并且您想在模拟器 (x86
) 或实际设备 (ARM
) 中测试它们。另外,不要将平台名称与项目正在构建的实际架构混淆;它默认给出架构的名称,但您可以将其更改为任何您喜欢的名称(例如,Xamarin iOS 使用 iPhone
用于物理设备的 ARM 构建,而 iPhoneSimulator
用于 x86 模拟器.
最后,请记住,一旦您将本机代码 projects/libraries 添加到您的解决方案中,就必须停止在任何引用它们的项目中使用 AnyCPU
架构;必须为特定平台(x86
/x64
或 ARM
)构建的项目可以引用 AnyCPU
程序集,但反之则不行。
我刚刚开始使用 Lumia(以前称为诺基亚)成像库。由于库的某些限制,必须使用 ARM 或 x86 构建配置。
没关系,但我有三个可移植的 class 库供应用程序引用。每当我对这些进行更改时,我都必须将构建配置更改回 Any CPU,然后再更改回 ARM,以便我可以部署到设备。
如果我不将构建配置更改为任何 CPU 并再次返回,那么我所做的更改似乎不会被编译。我的 x86 构建配置如下所示:
因此,看到三个 PCL 只有 ANY CPU 构建配置,我为每个创建了 x86,但构建产生了以下错误:
一个或多个项目目标不支持平台目标 'x86'。
知道如何设置项目以便我不必为 ARM 和 x86 构建配置构建它两次吗?
首先,您应该在要为当前活动平台编译的任何项目中启用 Build
复选框。如果没有,该项目将不再被编译,如果它被任何其他项目引用,他们将回退使用位于 bin/obj 文件夹中的缓存版本;执行 Clean
和 Rebuild
将突出显示哪些程序集在未先编译的情况下被引用。
接下来,将平台视为配置选项,允许解决方案中的所有项目使用一个目标架构或其他目标架构构建,具体取决于您要去哪里deploy/run:这在您拥有不支持 AnyCPU
的本机代码项目,并且您想在模拟器 (x86
) 或实际设备 (ARM
) 中测试它们。另外,不要将平台名称与项目正在构建的实际架构混淆;它默认给出架构的名称,但您可以将其更改为任何您喜欢的名称(例如,Xamarin iOS 使用 iPhone
用于物理设备的 ARM 构建,而 iPhoneSimulator
用于 x86 模拟器.
最后,请记住,一旦您将本机代码 projects/libraries 添加到您的解决方案中,就必须停止在任何引用它们的项目中使用 AnyCPU
架构;必须为特定平台(x86
/x64
或 ARM
)构建的项目可以引用 AnyCPU
程序集,但反之则不行。