VS.NET中的“解决方案资源管理器”与.csproj
文件中的投影值之间的配置值语言不一致。在Solution Explorer
中,.config
或依赖文件在Copy To Output Directory
属性中具有多个选项,这些选项会影响其构建和部署特性。
在Copy To Output Directory
下拉菜单中,我选择了.config文件的选项:Copy if newer
。但是,在.csproj
文件中,将其设置为PreserveNewest
,如下所示:
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
我想可以得出的结论是,由于存在(2)个不同的地方,所以术语不同是有意义的。我还可以看到
XML
文件中不允许使用“空格”的位置,但是我仍然可能希望看到类似以下内容的内容。<CopyToOutputDirectory>CopyIfNewer</CopyToOutputDirectory>
在MSDN中是否有定义的地方?这些“友好名称”如何映射到
.csproj
文件中的物理配置值? 最佳答案
我认为没有这样的地方可以找到这样的映射。但是,Automation and Extensibility Reference可以清除一些内容。
例如,您可以看到FileProperties2接口(interface)具有CopyToOutputDirectory属性,并且该属性接受__COPYTOOUTPUTSTATE枚举值:
在这里,您可以看到
PreserveNewest
是适合Copy if newer
UI值的唯一选项。我的观点是:如果您对可能的选项有疑问,您总是可以在自动化引用中对其进行检查,但是,我个人仅使用它来编写可修改代码中msbuild文件的NuGet powershell脚本。最简单的方法是在UI中设置值,然后看我们在msbuild文件中。