使用VS 2017 15.4.0
遵循James Montemagno“升级到Xamarin.Forms到.NET标准”
尝试清理/构建时收到错误:
严重级代码描述项目文件行抑制状态 包含错误重复的“EmbeddedResource”项目。 .NET SDK默认包含项目目录中的“EmbeddedResource”项。您可以从项目文件中删除这些项,或者如果要将它们显式包含在项目文件中,请将“EnableDefaultEmbeddedResourceItems”属性设置为“false”。有关更多信息,请参阅https://aka.ms/sdkimplicititems。重复的项目是:'App.xaml'; 'MainPage.xaml'App5.core C:\ Program Files \ dotnet \ sdk \ 2.0.2 \ Sdks \ Microsoft.NET.Sdk \ build \ Microsoft.NET.Sdk.DefaultItems.targets 274
有任何解决方案吗?
答案 0 :(得分:9)
找到解决方案...... 右键单击我创建“App5”的新.NET Standard项目,然后选择Edit App5.csproj 我已从文件中删除了此代码,错误消失了。
<ItemGroup>
<EmbeddedResource Include="App.xaml">
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
</EmbeddedResource>
<EmbeddedResource Include="MainPage.xaml">
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
</EmbeddedResource>
</ItemGroup>
答案 1 :(得分:3)
根据xamarin的bugzilla,在某些时候你 需要插入以使其能够使用新的csproj格式。
<ItemGroup>
<!-- https://bugzilla.xamarin.com/show_bug.cgi?id=55591 -->
<None Remove="**\*.xaml" />
<Compile Update="**\*.xaml.cs" DependentUpon="%(Filename)" />
<EmbeddedResource Include="**\*.xaml" SubType="Designer" Generator="MSBuild:UpdateDesignTimeXaml" />
</ItemGroup>
我认为xamarin现在决定将它添加到默认的构建目标。
所以要修复它,你必须做以下事情:
打开您的共享.csproj文件。
删除与添加xaml页面和* .cs相关的所有项目组
清理+重建。
答案 2 :(得分:3)
我发现了各种各样的建议,但是this answer在简洁和优雅方面对我来说都是最合适的:
对于错误消息中列出的每个项目:
然后
答案 3 :(得分:1)
我的错误是我在运行带有应用程序的模拟器时添加了嵌入式资源。
Soo ...我在.csproj文件中自动添加了此文件:
<EmbeddedResource Include="**/*" />
将其删除,然后一切正常
答案 4 :(得分:0)
尝试使用以下步骤手动清洁它:
nuget locals all -clear
nuget restore
然后再次打开VS,让我知道问题是否仍然存在
答案 5 :(得分:0)
对我来说,问题出在一个文件名中。我在文件名中使用了下划线(_)。我正在使用文件名AppResource.zh_cn.resx。也许可以帮助某人。
答案 6 :(得分:0)
在我添加了两个字体文件作为嵌入式资源之后,在MS Visual Studio for Mac中发生了这种事。
这些文件以相同的前缀命名(Lora-Regular.ttf和Lora-Bold.ttf),并且看起来我的IDE确实处理这种错误。
实际上,以下奇怪的行已插入我的.csproj文件中:
<EmbeddedResource Include="**/*" />
我所做的就是删除此行,并且错误消失了。
答案 7 :(得分:0)
对我来说,卸载和重新加载项目再次奏效!