簡體   English   中英

應用程序在Visual Studio中的單元測試中以x86運行,但在單獨運行時以x64運行

[英]Application runs as x86 in unit tests in Visual Studio, but runs as x64 when it stands alone

這行代碼

Environment.Is64BitProcess

當我的應用程序單獨運行時,評估為true。

但是,當它在Visual Studio中的單元測試中運行時,同一表達式的計算結果為false。

我選擇“Any CPU”作為解決方案平台,機器是64位。

為什么是這樣?

在此輸入圖像描述

即使我將其設置為上圖,Resharper仍然將其作為x86運行

這基本上說單元測試運行器是以32位進程啟動的。 如何配置將取決於您正在使用的單元測試運行器(其中有許多)。

當您運行單元測試時,與單元測試運行器的配置相比,您的應用程序組件在體系結構方面的任何首選項都將被忽略 - 而當您獨立運行時,構建配置(例如“AnyCPU更喜歡x86”或僅僅“AnyCPU”)將是相關的。

如果你真的,真的需要你的單元測試在x64中運行,你應該看看你如何運行它們 - 如果你不能改變它們在VS中的運行方式,你至少可以在一個運行它們獨立的跑步者,可能更容易支持x64。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM