Mono 开发中的构建错误

Build Error in Mono Develop

我试图通过在 Mono Develop 中将目标框架更改为 Mono/.Net 4.5 来使用 Mono 构建我现有的 Mvc 应用程序。 这给了我构建错误

Build failed. Item has already been added. Key in dictionary: 'Path' Key being added: 'PATH'

Build: 1 error, 0 warnings

我尝试创建新项目,但也出现了同样的错误。 我也尝试更新 nuget 包,但也没有用。

这个问题有点过时了,但我想我应该包括一个答案,让人们可以关注。

我发现几个 VS 2015 模板在项目中有元素会导致单声道的子构建文件出现此类问题。例如,与 Rosyln 或 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 相关的参考文献。我的特定项目不需要后者,我删除了相关参考以解决问题。完整的错误是

Error building target IncludeRoslynCompilerFilesToItemGroup: 
  Item has already been added. Key in dictionary: 'Link'  Key being added: 'Link'

我发现这与我的 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 有关,通过 greping 查找目标,例如

grep IncludeRoslynCompilerFilesToItemGroup * -R

找到有问题的包并弄清楚我是否可以删除代码引用。