2017-10-14 43 views
4

使用VS 2017年15.4.0迁移到.NET Standard后包含了重复的“EmbeddedResource”项目?

继詹姆斯Montemagno “升级到Xamarin.Forms到.NET标准”

https://channel9.msdn.com/Shows/XamarinShow/Snack-Pack-15-Upgrading-to-XamarinForms-to-NET-Standard?ocid=player

当试图清理/编译我收到的错误:

严重级代码说明项目文件行抑制状态 错误包含了重复的“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

尝试这些步骤手动清洁:

  • 从的iOS,Android和通用(项目名称)的文件夹闭上你的VS
  • 删除bin和OBJ文件夹。
  • 请从包文件夹
  • 所有内容打开一个终端,浏览到您的项目文件夹并键入nuget locals all -clear
  • 然后再次键入nuget restore

终于打开VS,让我知道,如果问题仍然存在

5

找到解决方案... 右键单击新的.NET标准项目我创建了“App5”并选择编辑App5.csproj 我已经从文件和错误消失了。

 <ItemGroup> 
    <EmbeddedResource Include="App.xaml"> 
    <Generator>MSBuild:UpdateDesignTimeXaml</Generator> 
    </EmbeddedResource> 
    <EmbeddedResource Include="MainPage.xaml"> 
    <Generator>MSBuild:UpdateDesignTimeXaml</Generator> 
    </EmbeddedResource> 
</ItemGroup> 
+0

这工作,但我想知道为什么。如果项目没有在项目文件中列出,项目如何找到这些项目? – modiX

+0

它基本上包括目录内的所有项目,除非提到排除特定项目。 –

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> 

Source

我会想象xamarin决定,现在添加到默认构建目标。

所以解决它,你必须做到以下几点:

  • 打开共享文件.csproj的。

  • 删除所有Itemgroups有关添加XAML页面和*的.cs

  • 清洁+重建。

+0

更换这个零件并没有解决我的问题,AG70的解决方案为我工作。 – modiX

+0

“删除与添加xaml页面相关的所有项目组”?这也正是他所做的 – Dbl