你可以称之为
System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceNames();
,并检查其嵌入的资源都可以访问。然后你可以比较一下你正在通过的内容,看看你是否确实完成了你的预期。
string FileExtractTo = "C:\FILES";
DirectoryInfo dirInfo = new DirectoryInfo(FileExtractTo);
if (!dirInfo.Exists())
dirInfo.Create();
using (Stream input = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName))
using (Stream output = File.Create(FileExtractTo + "\template.dotx"))
{
CopyStream(input, output);
}
CopyStream方法:
public static void CopyStream(Stream input, Stream output)
{
// Insert null checking here for production
byte[] buffer = new byte[8192];
int bytesRead;
while ((bytesRead = input.Read(buffer, 0, buffer.Length)) > 0)
{
output.Write(buffer, 0, bytesRead);
}
}
将这个骂人的字符串数组? System.Reflection.Assembly.GetExecutingAssembly()GetManifestResourceNames(); –
是的,这会以字符串[]的形式返回所有的资源,然后你可以调用GetManifestResourceStream(resourceName);获取嵌入式资源的流。 –
看到我编辑的答案。希望这可以帮助! –