我有一个嵌入式资源文件:
我需要将其作为Stream打开。
我尝试过的(无效,stream为null):
var assembly = Assembly.GetExecutingAssembly();
using (var stream = assembly.GetManifestResourceStream("client_secret.json"))
有任何想法或建议吗?
修改:我正在做的事情:
using (var stream = assembly.GetManifestResourceStream("client_secret.json"))
{
credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
// This OAuth 2.0 access scope allows an application to upload files to the
// authenticated user's YouTube channel, but doesn't allow other types of access.
new[] { YouTubeService.Scope.YoutubeUpload },
"user",
CancellationToken.None
);
}
答案 0 :(得分:4)
我解决了这个问题,我必须提供资源的完整命名空间:
using (var stream = assembly.GetManifestResourceStream("Project.Resources.client_secret.json"))
答案 1 :(得分:3)
在解决方案资源管理器中右键单击您的项目 - >添加 - >新商品 - >资源文件
然后双击创建的文件(例如Resource1.resx),然后将client_secret.json
添加到其中。现在,您可以使用强制代码访问client_secret.json
内容。请注意,如果您将json文件放入资源,那么当获取client_secret时,您将得到一个byte []且必须convert that to string
var foo= Encoding.UTF8.GetString(Resource1.client_secret);
但是如果只添加.txt
文件,您可以使用以下命令访问该文件:
var foo= Resource1.txtfile;