2

我在 MSBuild 上收到以下错误:MSB3107

C:\Windows\Microsoft.NET\Framework64\v3.5\Microsoft.Common.targets (1001):引用“....\Contracts\Contracts.csproj”的指定项目引用元数据丢失或无效价值:项目

由于我在互联网上没有找到很多关于 MSB3107 的信息,我想我会在这里发布。

4

6 回答 6

1

我通过删除对 Contracts.csproj 的所有引用并将它们与程序引用一起放回,解决了这个问题。这是一个简单的解决方法。

于 2012-10-30T14:38:58.837 回答
0

我遇到了这个问题,最终将 scproj ToolsVersion(根Project元素上的属性)设置为 3.5。将其更改为 4.0 解决了该问题。

于 2016-12-02T03:44:03.647 回答
0

查找并删除此行:

< Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />

于 2017-04-13T08:06:12.340 回答
0

将 Xamarin Studio 解决方案转换为 Visual Studio 2017 for Mac 解决方案时出现此错误。

/Library/Frameworks/Mono.framework/Versions/5.0.1/lib/mono/msbuild/15.0/bin/Microsoft.Common.CurrentVersion.targets(5,5):错误MSB3107:指定的项目参考元数据参考“ {myproject}.csproj" 丢失或具有无效值:项目 (MSB3107) ({myproject})

我最终创建了一个全新的解决方案文件 (sln),然后是作为原生 iOS 库的新骨架 csproj 文件。我复制了这些类,并再次手动添加了引用。根本区别似乎是在 Project 标记下的第一个 PropertyGroup 部分的 .csproj 文件中删除这些 XML 条目。

<TargetFrameworkIdentifier>Xamarin.iOS</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v1.0</TargetFrameworkVersion>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ReleaseVersion>4.0</ReleaseVersion>
于 2017-06-15T13:49:43.143 回答
0

这可能是由于具有错误项目 GUID 的项目引用而发生的。如果来自版本控制系统的合并出错,则引用的 ID 可能会损坏。编辑 .csproj 文件以消除错误引用,然后从 Visual Studio 再次添加新引用可以解决此类问题。

于 2018-01-17T19:58:06.253 回答
0

删除项目 GUID 中的冗余大括号后,我们的解决方案中发生了错误。删除 .vs 文件夹(或运行 a git clean -fdx)并重新启动 VisualStudio 后,错误不再出现。

于 2019-10-16T13:36:54.747 回答