[英]Unit Testing - Ignore culture when binding assembly
我對C#中的單元測試非常陌生。 我在Visual Studio中添加了一個測試項目,但是當我嘗試運行測試時,它們會失敗,抱怨程序集綁定失敗。
所以我啟用了日志記錄,並注意到測試正試圖從特定於文化的目錄(一個不存在的目錄)加載我的DLL。
例如,如果測試項目的DLL存在於C:\\ MyProject \\中 ,它將在C:\\ MyProject \\ en-GB \\中查找正在測試的程序集。
en-GB
的唯一引用是被測裝配的assembly assembly屬性。 如果我將該屬性的值更改為en-US
,單元測試綁定器將在/en-US/
搜索DLL
我可以以某種方式指定我不想要這種行為嗎?
從文檔中,
編譯器使用該屬性來區分主程序集和附屬程序集。 主程序集包含代碼和中性文化的資源。 附屬程序集僅包含特定文化的資源,如[assembly:AssemblyCultureAttribute(“de”)]。 將此屬性放在程序集上並使用除空字符串(“”)之外的其他內容作為區域性名稱將使此程序集看起來像附屬程序集,而不是包含可執行代碼的主程序集。 使用此屬性標記傳統代碼庫會破壞它,因為沒有其他代碼能夠在運行時找到庫的入口點。
所以基本上,不要使用該屬性。 你實際上在測試本地化的衛星組件嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.