相关疑难解决方法(0)

如何从.NET资源(RESX)文件中获取字符串值

这是我的RESX文件的样子:

Name            Value        Comments
Rule_seconds    seconds      seconds
Rule_Sound      Sound        Sound
Run Code Online (Sandbox Code Playgroud)

我想要的是:按字符串名称值,如下所示:

public string GetResxNameByValue(string value)
{
// some code to get name value
}
Run Code Online (Sandbox Code Playgroud)

并按如下方式实现:

string str = GetResxNameByValue("seconds");
Run Code Online (Sandbox Code Playgroud)

所以这str将回来Rule_seconds

谢谢!

.net c# resx

15
推荐指数
2
解决办法
5万
查看次数

C# .NET 中 FileStream 的替代方案

在 Visual Studio 环境中,项目 A (ASP.NET) 在我的解决方案中引用项目 B (C#),如下所示:

Solution
??Project B
? ??data.txt
? ??process.cs  (a class BB with static initialization new FileStream("data.txt"))
? Project A (referencces Project B)
  ??bin
  ? ??data.txt (copied from project B each time project B changes)
  ??Controllers
    ??mycontroller.cs (references the class BB)
Run Code Online (Sandbox Code Playgroud)

问题是,当我运行应用程序时,工作目录是C:\Program Files (x86)\IIS Express\,这样的data.txt不能从编译版本的阅读process.cs这是bin

暂时为了解决这个问题,我手动复制data.txt到了这个文件夹,但是这个方案不可行。注意,对 B 的更改必须与依赖于 B 的其他项目保持一致,这些项目并非都是 ASP.NET 项目。

我应该进行哪些更改,以便data.txt可以从我的项目中访问,而无需依赖我将data.txt文件复制到IIS Express目录?

我想将我的程序移植到 Azure Online,但我不能依赖此方法。感谢您的帮助。

其他链接答案:

.net c# asp.net filestream

5
推荐指数
1
解决办法
1341
查看次数

C# - 无法从ResourceManager获取字符串(来自附属程序集)

我正在开发一个可本地化的应用程序.在我的"本地"资源文件中,我使用默认语言(英语),如果可能的话,我加载用户的首选项和文化,并加载翻译成语言的字符串.

所以我做了什么:

private static CultureInfo _culture = CultureInfo.CurrentUICulture;
private static ResourceManager _manager;

private static void ToNeutralCulture()
{
    while (!_culture.IsNeutralCulture)
    {
        _culture = _culture.Parent;
    }
}

private static void LoadCulture()
{
    ResourceManager manager = Properties.Resources.ResourceManager;

    try
    {
        ToNeutralCulture();

        string assembly = Assembly.GetCallingAssembly().GetName().CodeBase;
        string assemblyDir = Path.GetDirectoryName(assembly);
        string assemblyName = Path.GetFileNameWithoutExtension(assembly);
        string resourceFileName = string.Format(CultureInfo.InvariantCulture,
            @"{0}\{1}_{2}.dll",
            assemblyDir,
            assemblyName,
            _culture.Name.ToUpper());

        FileInfo resourceFile = new FileInfo(resourceFileName);
        if (resourceFile.Exists)
        {
            Assembly resourceAssembly = Assembly.LoadFrom(resourceFile.FullName);
            string[] manifests = resourceAssembly.GetManifestResourceNames();

            if (manifests.Length == 1)
            {
                manager = …
Run Code Online (Sandbox Code Playgroud)

c# resources assemblies

4
推荐指数
1
解决办法
3万
查看次数

在资源上使用foreach?(C#)

嘿伙计们,我想知道如何在一些指定的资源上使用 foreach ......

例如,如果我有这四个资源,我如何使用 foreach 在每个资源上循环执行相同的操作:

test.Properties.Resources.file1
test.Properties.Resources.file2
test.Properties.Resources.file3
test.Properties.Resources.file4
Run Code Online (Sandbox Code Playgroud)

.net c# foreach resources

2
推荐指数
1
解决办法
1668
查看次数

标签 统计

c# ×4

.net ×3

resources ×2

asp.net ×1

assemblies ×1

filestream ×1

foreach ×1

resx ×1