我有一个简单的C#控制台应用程序,在XML文件中读取所指定的所述用户,运行于它XSLT转换,并输出该结果。

当我发布我的应用程序的用户,我要分发一个.EXE文件。我的源代码包含3个文件:所述的.csproj文件,则的.cs代码文件,和一个.xslt样式表

如何可以设置的csproj所以.xslt在输出内“嵌入”并且不能被看到或由最终用户修改?

似乎很容易,但我不能算出它和谷歌是不是太有用。

有帮助吗?

解决方案

您可以在您的装配使嵌入它。

在文件中添加您的解决方案,设置生成操作嵌入的资源。

在的地方,你需要阅读的文件使用 http://msdn.microsoft .COM / EN-US /库/ xc4235zt.aspx Assembly.GetManifestResourceStream至极会给你一个流至极,你可以写一个FIL或直接使用。

如果你都搞不清什么名字你有资源,我觉得Assembly.GetManifestResourceNames有用列出的所有资源。

其他提示

将文件添加到您的项目,然后选择文件并转到属性窗口(按<大骨节病> F4 )。设置生成操作为“嵌入的资源”。这将导致文件被嵌入到exe文件作为资源。

using(Stream strm = Assembly.GetExecutingAssembly().GetManifestResourceStream("YourAssemblyName.filename.xslt"))
using (XmlReader reader = XmlReader.Create(strm))
{
    XslTransform transform = new XslTransform();
    transform.Load(reader);
    // use the XslTransform object
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top