我在 Visual Studio Express 中有一个解决方案,如下所示:
The LogicSchema
C# 中的类,将在运行时解析指定的 XML 文件。以下是在main
的方法Program.cs
:
LogicSchema ls = new LogicSchema(
XDocument.Load(
"schemas\\C#Schema.xml",
LoadOptions.PreserveWhitespace));
我在解决方案中创建了一个名为“schemas”的文件夹来保存 XML 文件并将“构建操作”设置为Content并将“复制到输出目录”值设置为如果较新则复制.
我的期望是,如果在记事本中打开文件,进行更改并保存,则当我按 F5 时,XML 文件的更新版本将被复制到输出目录(在本例中为 bin\debug)。但是,除非我选择,否则更新的文件不会复制到输出目录Rebuild。常规的Build不起作用。
我需要更改什么,以便当我按 F5 时,文件在更新后会复制到输出目录?
它似乎也适用于 Visual Studio 2008 Team System -
必须是特定于表达式版本的,因此无法重现...
好吧,我最初的猜测是不正确的 - 这是关于 XML 文件位于引用的库中。现在可以重现它。
我认为最自然的方法是将 XML 作为资源嵌入,然后使用GetManifestResourceStream()
。这样,即使您直接引用 dll 而不是通过项目引用,XML 文件也会在您引用它时跟随您的 dll,而无需单独复制它。
...或者然后您可以使用预构建事件? (项目属性 - 构建事件):
copy $(ProjectDir)test.xml $(SolutiontDir)projectFolder\bin\debug\test.xml
我认为即使 VS 认为源文件没有更改,它也会始终运行。至少在完整的VS2008中是这样的——刚刚测试过。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)