NETSTANDARD错误项目的一个或多个目标

时间:2016-12-20 22:52:02

标签: xamarin.forms embedded-resource portable-class-library .net-standard

我们将项目迁移到NET STANDARD,但是在编译项目时,错误列表中会出现很多错误:

  

严重级代码说明项目文件行抑制状态
  错误构建操作项目的一个或多个目标不支持“EmbeddedResource”。 MyApp C:\ desenvolvimento \ aplicativo \ App \ MyApp \ App.xaml 0

项目正常运行但很多错误出现......

我使用的是最新版本的Visual Studio 2015和Xamarin,所有的库和软件都是最新的。

3 个答案:

答案 0 :(得分:3)

这些只是智能感知错误。如果您只是将错误列表过滤器切换为仅构建(而不是Build + Intellisense),那么您将看到它们消失,您的项目将继续构建。

答案 1 :(得分:1)

如果您的项目正确构建但这些错误仍然存​​在,这是因为Visual Studio会在.suo(解决方案用户选项)上保留错误的缓存,有时这些错误不会按原样刷新。

强制刷新关闭Visual Studio并删除所有.suo个文件(包括.vs文件夹内)。你将失去这个项目的所有状态(打开文件和窗口,窗口位置等)。

答案 2 :(得分:0)

我有这个问题并在网上搜索,最终找到了这个答案https://forums.xamarin.com/discussion/comment/89268/#Comment_89268

看起来旧的VS解决方案文件中的标签是原因 如答案中所述,您可以通过在文本编辑器中打开.csproj文件,找到EnsureNuGetPackageBuildImports目标并将其删除来修复构建错误。

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
        <PropertyGroup>
              <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
        </PropertyGroup>
        <Error Condition="!Exists('..\packages\Xamarin.Forms.1.2.2.6243\build\portable-win+net45+wp80+MonoAndroid10+MonoTouch10\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)','..\packages\Xamarin.Forms.1.2.2.6243\build\portable-win+net45+wp80+MonoAndroid10+MonoTouch10\Xamarin.Forms.targets'))" />
  </Target>

加载解决方案并且全部正常工作。