为什么切换当前线程的文化剂量不会导致在资源文件上切换UI语言?

时间:2017-03-31 04:39:33

标签: c# asp.net-mvc

我的MVC项目有2个语言(lang.fa.resxlang.resx)有2个资源文件,每个都可以运行,直到我在本地机器上运行它(语言)当我通过主页中的下拉列表更改语言时,网站会发生变化。

但是当我将它上传到服务器时,它不起作用!

似乎:

  • 文化现状发生变化
  • 语言剂量不变

我做了什么:

A) 我将以下代码放在主页的正文中以测试当前主题的文化值

@Thread.CurrentThread.CurrentCulture.Name
@Thread.CurrentThread.CurrentUICulture.Name

结果:

显示

fa-IR
fa-IR

en-US
en-US

根据下拉列表中的所选语言。但该网站的语言不会改变!

B) 我构建并将资源项目的dll文件重新上传到服务器

C) 我检查了文化Cookie »的值。它正确更改。

您如何看待这个问题?为什么它在本地计算机上运行但在服务器计算机上联机时不起作用?

1 个答案:

答案 0 :(得分:0)

我找到了问题的原因:

在我刚刚参加解决方案资源管理器(类库和主Web项目)中主要子项目的输出Sub Test_Range() Dim Test As Worksheet Set Test = Worksheets("test") Dim testTable As Range Set testTable = Test.Range("testTable[]") Dim testTableWidth, testNumbersWidth As Integer Set testTableWidth = testTable.Columns.Count 'Some code 'testNumbersWith is defined here If testNumbersWidth < testTableWidth Then testTable.Resize(, testNumbersWidth) End If End Sub 文件之前,它们将构建在DLL的根目录中

bin文件夹中有一些文件夹(其名称为bin folder en ru {{ 1}} ...)。 每次重新构建项目时,我都应该将它们重新上传到服务器。我这样做,一切都变得正确。