VS.NET中的解决方案资源管理器与.csproj
文件中的预计值之间的配置值冗余不一致。在Solution Explorer
中,.config
或依赖项文件在Copy To Output Directory
属性中将有多个影响其构建和部署特征的选项。
在Copy To Output Directory
下拉列表中,我选择了.config文件的选项:Copy if newer
。但是,在.csproj
文件中,它设置为PreserveNewest
,如下所示:
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
我认为可以得出结论,因为它是(2)不同的地方,术语不同是有意义的。我也可以看到&#39;空格&#39; XML
文件中不允许这样做,但我仍然希望看到以下内容。
<CopyToOutputDirectory>CopyIfNewer</CopyToOutputDirectory>
是否有某些地方在MSDN中定义了这些以及这些友好名称&#39;映射到.csproj
文件中的物理配置值?
答案 0 :(得分:6)
我认为没有这样的地方可以找到这样的映射。但是,Automation and Extensibility Reference可以清除一些内容。
例如,您可以看到FileProperties2接口具有CopyToOutputDirectory属性,并且该属性接受__COPYTOOUTPUTSTATE枚举值:
您可以在此处看到PreserveNewest
是唯一符合Copy if newer
UI值的选项。
我的观点是:如果你对可能的选项有疑问,你总是可以在自动化参考中检查它,但是,我个人只使用它编写NuGet powershell脚本来修改代码中的msbuild文件。最简单的方法是在UI中设置值,然后看看我们之后是否在msbuild文件中。