【发布时间】:2018-05-22 03:23:49
【问题描述】:
我的大型项目将 XML 配置文件作为输入。我有这些 XML 的 XSD 架构。 XSD 与任何其他 C# 代码文件一样放置在 Visual Studio 中。我想将架构导入 exe,这样没有人可以更改它并随之更改程序本身。
我想从代码中解决 XSD 架构,如下所示:
XmlSchemaSet schemas = new XmlSchemaSet();
schemas.Add("confcheck", MyProject.Configuration.ConfSchema );
其中 Configuration 是我的代码文件之间带有架构的文件夹
【问题讨论】:
-
作为嵌入式资源?
-
I want to import the schema into exe so no one can change it and with it change the program itself.如果只是这个原因,那就不用麻烦了……可以修改…… -
是的,最好作为嵌入式资源。
-
看看这个答案,它描述了如何将文本文件作为嵌入式资源读取。 stackoverflow.com/a/49203966/9365244
-
@Eser 您可以对可执行文件进行签名,这样如果它被更改,则强制取消签名。如果目标是防止某人将程序更改为恶意程序,然后在他们没有意识到它已被更改的情况下将其重新分发给其他人,您可以解决它(通过告诉人们不要信任您的可执行文件的未签名版本)。您无法防御的是有人更改程序然后自己运行它,因为他们可以忽略他们更改的版本未签名的事实。
标签: c# visual-studio