当前位置:  开发笔记 > 编程语言 > 正文

设置"始终复制到输出目录"时,内容与无之间的区别是什么?

如何解决《设置"始终复制到输出目录"时,内容与无之间的区别是什么?》经验,为你挑选了1个好方法。

在csproj文件中,我们可以使用None或者Content元素包含一个文件.从MSDN,它说:

无 - 文件未包含在项目输出组中,并且未在构建过程中编译.一个示例是包含文档的文本文件,例如自述文件.

内容 - 文件未编译,但包含在"内容"输出组中.例如,此设置是.htm或其他类型的Web文件的默认值.

但由于其中一个元素NoneContent元素都可以包含一个CopyToOutputDirectory元素,因此我想知道我是否设置了这个,是Always不是行为NoneContent相同?



1> CodingYoshi..:

并非通过设置复制到输出目录CopyToOutputDirectory的所有内容都将复制到内容输出组.因此,您可以这样做:

File1---CopyToOutputDirectory = Copy always, Content 
File2---CopyToOutputDirectory = Copy always, Content 
File3---CopyToOutputDirectory = Copy always, None

所有这三个文件只能复制到输出目录,但File1File2将被复制到内容输出组.

此外,Content允许您作为流来检索文件(与程序集在同一目录中)Application.GetContentStream(URI).要使此方法起作用,它需要一个AssemblyAssociatedContentFile自定义属性,当您将文件标记为时,Visual Studio会轻松添加该属性Content.

None并且Content文件如何与构建和部署过程相关的值.因此,您的构建(例如,MS Build)和部署可能与仅从输出目录中获取文件非常不同.您可能在输出目录中有一个您不需要的.bat文件,但是您需要它来进行部署.

这个 SO答案有关于不同构建操作的更多详细信息.

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有