facebook-csharp-sdk / facebook-winclient-sdk

Facebook SDK for Windows & Windows Phone
http://facebooksdk.net
Apache License 2.0
61 stars 139 forks source link

Recompile and deploy nuget for Windows Phone 8.1 #45

Closed sanjeevdwivedi closed 9 years ago

sanjeevdwivedi commented 10 years ago

This is likely an issue in nuget. However, to unblock developers, we should do this.

richorama commented 10 years ago

I would really like to get the WP8.1 binaries from nuget. Is it possible to push the packages?

I get this message in Visual Studio when attempting to retarget:

---------------------------
Microsoft Visual Studio
---------------------------
The property could not be read/written because the language service returned an unknown error.
---------------------------
OK   
---------------------------

... and I get this when attempting to build from VS:

Error   1   The "CompileXaml" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load file or assembly 'XamlServicesWP, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
File name: 'XamlServicesWP, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

Server stack trace: 
   at Microsoft.Silverlight.Build.Tasks.CompileXaml.GenerateCode(ITaskItem item, Boolean isApplication)
   at Microsoft.Silverlight.Build.Tasks.CompileXaml.Execute()
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at Microsoft.Build.Framework.ITask.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__20.MoveNext()

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
    BasicAppAuthentication
sanjeevdwivedi commented 10 years ago

The problem with the Client library is that it is not a simple recompile. In 8.1, the Phone project has two kind of applications, SilverLight as well as Universal. The Windows Phone 8.0 project can be upgraded to Phone 8.1 Silverlight with minimal issues but the Windows Phone 8.0 Silverlight controls will not work on Windows Phone 8.1 Universal apps. We will have to port over the Windows 8.0 controls to the Windows Phone 8.1.

matteocontrini commented 10 years ago

What's the progress of this?

sanjeevdwivedi commented 10 years ago

Merge this pull request in your private copy and build - that should work. That being said, the UI controls are likely not working at this point of time. Login works but requires that you drop a FacebookConfig.xml file in your root folder with the requisite information.

https://github.com/facebook-csharp-sdk/facebook-winclient-sdk/pull/50

On Thu, Sep 11, 2014 at 8:00 AM, matteocontrini notifications@github.com wrote:

What's the progress of this?

— Reply to this email directly or view it on GitHub https://github.com/facebook-csharp-sdk/facebook-winclient-sdk/issues/45#issuecomment-55276416 .

http://satkriti.com 404-513-2954 (cell)

matteocontrini commented 10 years ago

Thanks for the reply. I've managed to do that, but I also need the login helpers, which I guess are in the Facebook.Client repository/project. I've downloaded the universal solution but I can't compile it, the Facebook reference seems to be missing so it doesn't find classes from that package...

sanjeevdwivedi commented 10 years ago

Are you building using the instructions here?

http://facebooksdk.net/docs/build/

Also, to build you will need to set the following variable on the command line to be able to successfully build:

export VisualStudioVersion=12.0

This is to make sure VS2013 is used to build the solution and not the other way around.

Thanks Sanjeev

On Thu, Sep 11, 2014 at 1:17 PM, matteocontrini notifications@github.com wrote:

Thanks for the reply. I've managed to do that, but I also need the login helpers, which I guess are in the Facebook.Client repository/project. I've downloaded the universal solution but I can't compile it, the Facebook reference seems to be missing so it doesn't find classes from that package...

— Reply to this email directly or view it on GitHub https://github.com/facebook-csharp-sdk/facebook-winclient-sdk/issues/45#issuecomment-55321744 .

http://satkriti.com 404-513-2954 (cell)

matteocontrini commented 10 years ago

I'm running into new problems every time I do something, I've never used node.js and jake, and I have not enough experience on command line. Can't you just release the binary files like anyone other is doing in this world?

sanjeevdwivedi commented 10 years ago

Ok, I will release the binary - I had been trying to test the UI controls but have not been able to get the time for it, so they will likely not work on the Windows Phone, but the Login itself should work.

One more thing, once this new nuget is released, For Facebook login, you will need to actually make a few more modifications to the code since the Windows Phone 8.1 universal app model is different from the SilverLight. I will update the documentation, however, in short, you will need to make the following changes:

  1. Add the following elment in your package.appxmanifest - make sure to change the msft-guid to your app's PhoneProductId element witout the dashes :
  2. Add a file by the name of FacebookConfig.xml in your phone's solution at the root level. Make sure to put the following in it. Again, make sure that you replace the guid with your own guid or you will keep hitting issues

<?xml version="1.0" encoding="utf-8" ?>

  1. Make sure to update the Facebook portal with your phone's app guid
  2. Finally invoke the app based login using the following - make sure to change the Facebook AppID below: FacebookSessionClient fb = new FacebookSessionClient("540541885996234"); var session = fb.LoginWithApp("basic_info,publish_actions,read_stream", "custom_state_string");

On Thu, Sep 11, 2014 at 1:56 PM, matteocontrini notifications@github.com wrote:

I'm running into new problems every time I do something, I've never used node.js and jake, and I have not enough experience on command line. Can't you just release the binary files like anyone other is doing in this world?

— Reply to this email directly or view it on GitHub https://github.com/facebook-csharp-sdk/facebook-winclient-sdk/issues/45#issuecomment-55327496 .

http://satkriti.com 404-513-2954 (cell)

sanjeevdwivedi commented 10 years ago

Pushed the nuget. Let me know if you see issues.

On Thu, Sep 11, 2014 at 2:40 PM, Sanjeev Dwivedi sanjeev.dwivedi@gmail.com wrote:

Ok, I will release the binary - I had been trying to test the UI controls but have not been able to get the time for it, so they will likely not work on the Windows Phone, but the Login itself should work.

One more thing, once this new nuget is released, For Facebook login, you will need to actually make a few more modifications to the code since the Windows Phone 8.1 universal app model is different from the SilverLight. I will update the documentation, however, in short, you will need to make the following changes:

  1. Add the following elment in your package.appxmanifest - make sure to change the msft-guid to your app's PhoneProductId element witout the dashes :
  2. Add a file by the name of FacebookConfig.xml in your phone's solution at the root level. Make sure to put the following in it. Again, make sure that you replace the guid with your own guid or you will keep hitting issues

<?xml version="1.0" encoding="utf-8" ?>

  1. Make sure to update the Facebook portal with your phone's app guid
  2. Finally invoke the app based login using the following - make sure to change the Facebook AppID below: FacebookSessionClient fb = new FacebookSessionClient("540541885996234"); var session = fb.LoginWithApp("basic_info,publish_actions,read_stream", "custom_state_string");

On Thu, Sep 11, 2014 at 1:56 PM, matteocontrini notifications@github.com wrote:

I'm running into new problems every time I do something, I've never used node.js and jake, and I have not enough experience on command line. Can't you just release the binary files like anyone other is doing in this world?

— Reply to this email directly or view it on GitHub https://github.com/facebook-csharp-sdk/facebook-winclient-sdk/issues/45#issuecomment-55327496 .

http://satkriti.com 404-513-2954 (cell)

http://satkriti.com 404-513-2954 (cell)

matteocontrini commented 10 years ago

Thanks A LOT. Just some notes:

screenshot_2

It seems it's working fine :)

syscrashone commented 9 years ago

Hi Guys

@matteocontrini I am fighting with activation fot protocol. Facebook App starts login back to WP8.1 app but could not trigger onActivation. Could you send me an example or some clue how you manage this with Facebook. I will be very grateful. Its Windows Phone 8.1 app not Windows Phone 8.1 silverlight

Best Regards

matteocontrini commented 9 years ago

Sorry for the late reply, you have to override the OnActivated method. You can type "override" in the class "App" and press space, you'll be given a list of overridable methods. Choose OnActivated and press Enter. In this way, it must work.

sanjeevdwivedi commented 9 years ago

This is done and the documentation is up to date. Refer to http://facebooksdk.net/docs/windows/config/ for the full configuration.