Visual studio 为什么用“的”这个词;复制到输出目录";地点之间的选择变化?

Visual studio 为什么用“的”这个词;复制到输出目录";地点之间的选择变化?,visual-studio,configuration,msbuild,csproj,Visual Studio,Configuration,Msbuild,Csproj,VS.NET中的解决方案资源管理器与.csproj文件中的投影值之间的配置值措辞不一致。在解决方案资源管理器中,配置或依赖项文件在复制到输出目录属性中有多个选项,这些选项会影响其生成和部署特性 在复制到输出目录下拉列表中,我选择了.config文件的选项:如果较新,则复制。但是,在.csproj文件中,它被设置为保存最新的,如下所示: <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 在MSDN中

VS.NET中的解决方案资源管理器与
.csproj
文件中的投影值之间的配置值措辞不一致。在
解决方案资源管理器
中,
配置
或依赖项文件在
复制到输出目录
属性中有多个选项,这些选项会影响其生成和部署特性

复制到输出目录
下拉列表中,我选择了.config文件的选项:
如果较新,则复制
。但是,在
.csproj
文件中,它被设置为
保存最新的
,如下所示:

<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>

在MSDN中是否有定义,以及这些“友好名称”如何映射到
.csproj
文件中的物理配置值?

我认为没有这样的地方可以找到这样的映射。但是,我可以澄清一些事情

例如,您可以看到FileProperties2接口具有CopyToOutputDirectory属性,并且该属性接受枚举值:

  • COPYTOOUTPUTSTATE_从不=0
  • COPYTOOUTPUTSTATE_始终=1
  • COPYTOOUTPUTSTATE_PreserveNewestFile=2
在这里您可以看到,
preserveelatest
是唯一适合
Copy if newer
UI值的选项


我的观点是:如果您对可能的选项有疑问,您始终可以在automation参考中检查它,但是,我个人仅在编写修改代码中msbuild文件的NuGet powershell脚本时使用它。最简单的方法是在UI中设置值,然后查看msbuild文件中的值。

这并不能真正回答问题,但通常情况下,您不应该依靠配置文件的详细信息来匹配UI。用户界面应支持本地化;配置文件不应为空。
<CopyToOutputDirectory>CopyIfNewer</CopyToOutputDirectory>