Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Netstandard 1.0 PCL (classic) cannot add P2P ref to cross-compiled CPS proj #936

Closed
clairernovotny opened this issue Dec 13, 2016 · 13 comments
Closed
Assignees
Milestone

Comments

@clairernovotny
Copy link
Member

@clairernovotny clairernovotny commented Dec 13, 2016

I have a "classic" PCL project that targets netstandard1.0 and has a project.json. When I try to add a P2P reference to a "modern" cross-compiled project that also has a netstandard1.0 target, I get an error.

err

Manually adding the p2p ref in code has a compile time failure:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.Sdk.Common.targets(70,5): error : Project 'C:\dev\Zeroconf\Zeroconf\Zeroconf.csproj' has no target framework compatible with '.NETPortable,Version=v5.0'.

@srivatsn srivatsn added this to the 1.0 RC3 milestone Dec 13, 2016
@srivatsn srivatsn added the Bug label Dec 13, 2016
@clairernovotny
Copy link
Member Author

@clairernovotny clairernovotny commented Dec 13, 2016

This also happens when trying to add a P2P ref from a WP8 Silverlight project to the same cross-compiled lib. Do you want a new issue or attach it to this one?

@srivatsn
Copy link
Contributor

@srivatsn srivatsn commented Dec 13, 2016

Single issue is fine.

@clairernovotny
Copy link
Member Author

@clairernovotny clairernovotny commented Dec 13, 2016

Okay, cool.

So if I add it manually to the WP8 SL project, I get a different compile time error:

2>Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output files are up-to-date with respect to the input files.
2>CoreCompile:
2>  C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\csc.exe /noconfig /nowarn:1701,1702,2008 /nostdlib+ /errorreport:prompt /warn:4 /define:DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE /errorendlocation /preferreduilang:en-US /reference:C:\Users\oren\.nuget\packages\WPtoolkit\4.2013.8.16\lib\wp8\Microsoft.Phone.Controls.Toolkit.dll /reference:C:\Users\oren\.nuget\packages\System.Reactive.Core\3.1.1\lib\netstandard1.0\System.Reactive.Core.dll /reference:C:\Users\oren\.nuget\packages\System.Reactive.Interfaces\3.1.1\lib\netstandard1.0\System.Reactive.Interfaces.dll /reference:C:\Users\oren\.nuget\packages\System.Reactive.Linq\3.1.1\lib\netstandard1.0\System.Reactive.Linq.dll /reference:C:\Users\oren\.nuget\packages\System.Reactive.PlatformServices\3.1.1\lib\netstandard1.0\System.Reactive.PlatformServices.dll /reference:C:\dev\Zeroconf\Zeroconf\bin\Debug\netstandard1.0\Zeroconf.dll /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\Microsoft.CSharp.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\Microsoft.Devices.Sensors.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\Microsoft.Phone.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\Microsoft.Phone.Interop.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\Microsoft.Phone.Maps.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\Microsoft.Phone.Reactive.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\Microsoft.Xna.Framework.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\Microsoft.Xna.Framework.GamerServices.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\Microsoft.Xna.Framework.GamerServicesExtensions.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\Microsoft.Xna.Framework.Input.Touch.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\Microsoft.Xna.Framework.MediaLibraryExtensions.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\mscorlib.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\mscorlib.extensions.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Collections.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.ComponentModel.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.ComponentModel.EventBasedAsync.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Core.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Data.Linq.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Device.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Diagnostics.Contracts.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Diagnostics.Debug.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Diagnostics.Tools.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Dynamic.Runtime.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Globalization.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.IO.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Linq.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Linq.Expressions.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Linq.Queryable.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Net.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Net.NetworkInformation.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Net.Primitives.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Net.Requests.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.ObjectModel.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Observable.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Reflection.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Reflection.Emit.IlGeneration.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Reflection.Emit.Lightweight.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Reflection.Extensions.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Reflection.Primitives.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Resources.ResourceManager.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Runtime.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Runtime.Extensions.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Runtime.InteropServices.WindowsRuntime.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Runtime.Serialization.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Runtime.Serialization.Json.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Runtime.Serialization.Primitives.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Runtime.Serialization.Xml.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Runtime.WindowsRuntime.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Security.Principal.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.ServiceModel.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.ServiceModel.Http.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.ServiceModel.Primitives.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.ServiceModel.Security.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.ServiceModel.Web.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Text.Encoding.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Text.Encoding.Extensions.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Text.RegularExpressions.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Threading.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Threading.Tasks.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Windows.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Xml.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Xml.Linq.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Xml.ReaderWriter.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Xml.Serialization.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Xml.XDocument.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Xml.XmlSerializer.dll" /reference:"C:\Program Files (x86)\Windows Phone Kits\8.0\\Windows Metadata\Windows.winmd" /debug+ /debug:full /optimize- /out:obj\x86\Debug\ZeroconfTest.WP.dll /ruleset:"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Team Tools\Static Analysis Tools\\Rule Sets\MinimumRecommendedRules.ruleset" /resource:obj\x86\Debug\ZeroconfTest.WP.g.resources /resource:obj\x86\Debug\ZeroconfTest.WP.Resources.AppResources.resources /target:library /utf8output App.xaml.cs LocalizedStrings.cs MainPage.xaml.cs Properties\AssemblyInfo.cs Resources\AppResources.Designer.cs C:\dev\Zeroconf\ZeroconfTest.WP\obj\x86\Debug\App.g.cs C:\dev\Zeroconf\ZeroconfTest.WP\obj\x86\Debug\MainPage.g.cs "C:\Users\oren\AppData\Local\Temp\WindowsPhone,Version=v8.0.AssemblyAttributes.cs" obj\x86\Debug\\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs obj\x86\Debug\\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs obj\x86\Debug\\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
2>  Using shared compilation with compiler from directory: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin
2>C:\dev\Zeroconf\Zeroconf\Zeroconf.csproj : error MSB4057: The target "GetPackagingOutputs" does not exist in the project.
2>
2>Build FAILED.
2>
2>Time Elapsed 00:00:00.70
========== Build: 1 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

@dsplaisted
Copy link
Member

@dsplaisted dsplaisted commented Jan 24, 2017

@onovotny Is there anything blocking you from migrating the classic PCL project which targets .NET Standard to a .NET SDK project that targets .NET Standard?

@davkean
Copy link
Member

@davkean davkean commented Jan 24, 2017

@srivatsn You'll probably want two issues, two different code paths and two different changes.

@davkean
Copy link
Member

@davkean davkean commented Jan 24, 2017

There's 4 bugs in this issue really, all with different changes - @srivatsn I think we'll want to represent that, and then tag them as blocking end-to-end.

@clairernovotny
Copy link
Member Author

@clairernovotny clairernovotny commented Jan 26, 2017

sorry, hit the wrong button!

@davkean
Copy link
Member

@davkean davkean commented Feb 3, 2017

I've submitted a fix for the portable block. We no longer block in this case, and let the reference succeed to fall back to the normal p2p checks during design-time builds/builds.

I've filed: #1463 to track the warnings that I see when we let this reference succeed.

@onovotny There is no WP8 SL project in VS 2017 - did you file that above before we pulled it?

@clairernovotny
Copy link
Member Author

@clairernovotny clairernovotny commented Feb 3, 2017

@davkean In GitHub.com/onovotny/zeroconf, the dev branch, there's a ZeroconfTest.WP project that's WP8 SL. It may not have full editors, but it definitely still compiles by using the language targets.

I'm still seeing that issue with GetPackagingOutputs on it.

@srivatsn
Copy link
Contributor

@srivatsn srivatsn commented Feb 5, 2017

Split out the WP8 issue and closing this out since both the PCL ref and build issues have been fixed.

@srivatsn srivatsn closed this Feb 5, 2017
@adamhewitt627
Copy link
Member

@adamhewitt627 adamhewitt627 commented Feb 15, 2017

@srivatsn I'm seeing the same error from a UWP project (No GetPackagingOutputs in the P2P references) but don't see an associated issue. Is that ultimately related to these, or should it file separately?

EDIT: I meant to say I'm on the latest VS2017 (15.0.26206.0) with MSBuild 15.1.545.13942.

EDIT: Here is an example library project file:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>netstandard1.4;uap10.0</TargetFrameworks>
    <DefaultLanguage>en-US</DefaultLanguage>
  </PropertyGroup>

  <Choose>
    <When Condition="'$(TargetFramework)' == 'uap10.0'">
      <PropertyGroup>
        <CopyLocalLockFileAssemblies>false</CopyLocalLockFileAssemblies>
        <NugetTargetMoniker>UAP,Version=v10.0</NugetTargetMoniker>
        <TargetPlatformIdentifier>UAP</TargetPlatformIdentifier>
        <TargetPlatformVersion>10.0.14393.0</TargetPlatformVersion>
        <TargetPlatformMinVersion>10.0.14393.0</TargetPlatformMinVersion>
        <TargetFrameworkIdentifier>.NETCore</TargetFrameworkIdentifier>
        <TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
        <DefineConstants>$(DefineConstants);WINDOWS_UWP</DefineConstants>
        <LanguageTargets>$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets</LanguageTargets>
      </PropertyGroup>
      <ItemGroup>
        <PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform " Version="5.2.2" />
      </ItemGroup>
    </When>
  </Choose>

</Project>

@srivatsn
Copy link
Contributor

@srivatsn srivatsn commented Feb 15, 2017

There's another report of this in a muli-targeted project. We are tacking that with dotnet/sdk#707

@clairernovotny
Copy link
Member Author

@clairernovotny clairernovotny commented Feb 16, 2017

The reference works now but I get build failures:
dotnet/sdk#879

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
7 participants