ResourceManager返回文件名

时间:2018-01-18 16:26:13

标签: c# .net-core resourcemanager .net-standard-2.0

我有一个.net-core 2.0控制台应用程序。 此应用程序引用.net-standard-2.0库,其中包含一个资源文件SqlStatements.resx,其中包含多个sql文件。

文件配置: 嵌入资源; 不要抄袭; ResXFileCodeGenerator;

如果我在Visual Studio 2017中以调试或发布模式调用本地

var result = SqlStatements.somefileName;

我得到了文件的内容。 但是如果在服务器上启动代码,我会得到类似的东西:

resources\somefileName.sql;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8

我以这种方式启动应用程序:

dotnet MyApp.Console.dll

你知道它可能是什么原因吗?

更新: 代码是正确的: 我用dotpeek检查了dll。如果我运行脚本:

dotnet build SolutionName.sln --configuration -Release

然后resource.resx中的值看起来像

resources\somefileName.sql;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8

如果我在Visual Studio中进行构建,resx就可以了(我看到了sql文件的内容)。

1 个答案:

答案 0 :(得分:0)

它在本地工作,因为Visual Studio使用MsBuild并且能够使用嵌入式资源。我把sqls移到了代码