![](/img/trans.png)
[英]Reference a project in Visual Studio and build it for a specific platform
[英]Project reference to another project with different target platform in Visual Studio
我正在Visual Studio中开发Azure Function,它在本地运行良好。 当我尝试发布到AZ时,它给了我失败的错误:请通过构建配置管理器将项目B目标平台更改为x64。
但是我已经这样做了,否则它甚至不能在本地运行。 但是,右键单击项目B的属性后,没有在对话框中将目标平台更改为x64。
问题是我在此处进行更改后,即使在本地也无法使用。 具有目标平台AnyProject的项目A引用了对象B的另一个CPU给了我另一个错误:项目A:无法加载文件或程序集,项目B。
关于整个事情如何在本地和Azure上运行的任何想法。 一开始我在错误的地方吗?
它们都在同一解决方案中,正在执行的项目调用Porject A,而项目A调用项目B
谢谢!
我在“属性”页面(也可以在“项目” Properties> Build
上单击鼠标右键)发现“ Platform target
确实控制了平台。 将其保留为Any CPU
并将Configuration manager
更改为x64,将项目构建为x86,即Any CPU
的首选项。 我还在一个全新的项目中找到了,将Configuration manager
修改为x64, Platform target
自动更改为x64,并且将项目内置到x64位中。
因此,我猜想本地运行良好是因为以前您的项目实际上是针对x86的。 更改Platform target
后,由于项目平台的不一致,x64无法正常工作。
基于此,我建议就像@Jeremy所说的那样,确保所有项目Platforms都设置为Any CPU
,我们可以直接删除x64平台设置以进行干净的配置。
如果您选择将所有项目平台设置为x64,请执行以下步骤。
VS默认使用x86运行时,要调试x64功能,我们必须下载x64 cli(包含运行时)并手动配置。
请访问cli发行说明以下载最新的x64位(对于v1 .NET Framework函数,为1.x;对于v2 .NET Core函数,为2.x)。 例如,对于OS Windows上的v2函数,我们可以选择Azure.Functions.Cli.min.win-x64.2.4.317
。
右键单击您的项目->属性,在下面进行调试配置。
Launch: Executable Executable: [x64CliPath]\\func.exe Application Arguments: host start
发布之前,请不要忘记在Azure门户中的“应用程序”设置上将“平台”修改为64位。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.