我有一个.net-core 2.0控制台应用程序。此应用程序引用具有一个资源文件SqlStatements.resx的.net-standard-2.0库,其中包含多个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文件的内容)。
发布于 2018-01-20 00:10:25
它在本地工作,因为Visual Studio使用MsBuild,并且它能够处理嵌入的资源。我已经将sql移到了代码中。
https://stackoverflow.com/questions/48325948
复制相似问题