How to reference a DotnetStandard 2.0 library from another DotnetStandard library? - .net-standard-2.0

I have started a project to move some framework libraries targeting Dotnet 4.6.1 to DotnetStandard. I am using VS2017. I started with a relatively simple library which did not have any nuget references and only couple of classes. The approach I took was,
Create a new DotnetStandard 2.0 library project. Just to make sure I have a clean slate instead of manipulating the csproj file of the existing project.
Copy the code files from the old to the new project
Make any code changes required to make the new project build
This worked pretty smoothly. Now, I started with a second library that referenced the first one. I followed the same steps as mentioned above. At Step 3, however, I am hitting roadblock. I am unable to get the namespaces exposed by the first library in the second library, whatever I do. I have tried these,
Referenced the First project from the second project as Project Reference
Created a nuget package for the first project, hosted it in a local folder and installed the package in second project.
Both ways, I am unable to get the namespaces and classes from the first project.
What am I doing wrong?
UPDATE
I tried creating a dummy solution and tried creating two Dotnetstandard projects there. Project referencing worked fine there. So, to experiment, in my actual solution, I deleted the second project and created again. That somehow resolved my issue and I am able to successfully add nuget as well as project references now. Not sure what the problem was earlier.

Related

"One or more projects are incompatible with UAP,Version=v10.0" Issue [UWP]

I've been developing UWP app until I got this error (picture below). I've searched for solution but I couldn't find anything. It doesn't even say which package is the incompatible. How can I find the incompatible package in my solution? Also is there any way to re-create project.json by automatically? I ask it because I changed something on project.json and broke it more.
Also I'm using VS2017 and I'm able to run project without issue. I just can't update package.
Thanks.
(github link for project if you want to look at it.)
I used your GitHub https://github.com/almorax/dota2-handbook-uwp project to troubleshoot the problem and looks like the problem is with the way the nuget package is referred in "Dota2Handbook" project. In other projects, you have used "PackageReference" way to refer the nuget package however in "Dota2Handbook" project you are using project.json to refer nuget package. When I changed "Dota2Handbook" project to use the "PackageReference" way then I was able to get the latest package.
Note: You will notice that "Dota2Handbook.Infrastructure" project already use the new way to refer Nuget packages
More details on PackageReference : https://learn.microsoft.com/en-us/nuget/consume-packages/package-references-in-project-files
What happened to me is that I have UWP projects that were made in VS 2015 and initially targeting Windows 10 RTM. These projects where updated to VS 2017 and to target Creator's Update. All worked fine, and all projects still used the original project.json style.
Then I tried to create a new Windows Runtime Component project and target Creator's Update initially. Targeting Creator's Update in VS 2017 causes the project to use the new PackageReferences project style. This produced the errors shown in the above question when I referenced the WinRT component from the UWP app.
Rather than converting the all of my legacy UWP project files to use the new format, I target the new UWP or WinRT Component library to Anniversary Edition (which uses the older project.json project style), then retarget to Creator's Update.
Of course, at some point updating the project file may be appropriate, just know that it will no longer be supported by VS 2015. Conversion steps are illustrated here.

Missing Json/Bootstrap files when creating a new project - Sencha Architect 3

Most of the time I create a project I miss a lot of necessary files such as the bootstrap and Json files.
I have all the dependencies (Ruby, JDK, Apache Ant) and Sencha CMD 5.1 (6 gives me alot of problems), I have also set my custom Cmd Base Path to cmd/5.1.3.61
It's a lot like a hit in miss, i'll create and save a lot of projects in different places hoping that 1 will provide me with all the necessary files needed to code properly (had to create over 10 projects for me to get a project folder with all the files in, and save them all in different directories).
Anyone know the cause of this or how to fix it so that Sencha Architect will give me all the necessary files with each project I create?
I've tried Saving As the project folder to a different location, using sencha cmd web start, saving the entire project and (it's not letting me build the project as it is greyed out)
Also tried reinstalling sencha architect, cmd, and all its dependencies; problem still occuring.
Fixed by turning on build tools (which should be enabled since I have all the dependencies) that then allowed me to build the project and get all the required files

Using System.Web.Helpers in a WPF desktop application

I have been working on a WPF desktop application remotely. Everything has worked great so far, but recently I had to move some functionality from a web application to the WPF application. It uses the System.Web.Helpers.Json class to decode some JSON that comes from a website CMS system.
I therefore added a reference to the System.Web.Helpers dll to the project along with the relevant code and when I ran it locally, it all worked fabulously. Unfortunately, after deploying it using Click Once, the users got the following error:
So I added a reference to the Microsoft.Web.Infrastructure dll file to the project, ensured that it would be copied locally and then deployed a new version of the application. Unfortunately, the following day, I was presented with a new error:
I've searched online and found that if I add a reference to the System.Web.Razor dll, then that will in turn require a reference to the System.Web dll. My problem is that due to time constraints, I only get to make one change a day and this needs to be fixed as soon as possible... if I only get informed about one missing reference each day, then I could run out of time really easily.
So my question is does anyone know all the references that I will need to add to satisfy the System.Web.Helpers dll?
I've just come across this question and realised that I never updated it with an answer. Unfortunately, this was asked a long time ago, so I can't be 100% sure of this answer now, but from what I can remember, I needed to add these following DLLs in order to use the System.Web.Helpers assembly:
Microsoft.Web.Infrastructure
System.Web.Helpers
System.Web.Razor
System.Web.WebPages
System.Web.WebPages.Deployment
System.Web.WebPages.Razor
There is a possibility that you'll also need the System.Web and System.Web.WebPages.Administration assemblies, but I can't be 100% sure about that now.

adding files to all platforms of a cocos2d-x project

This is a very basic question, but I have not been able to find the answer anywhere.
I just got Cocos 2Dx 3.3, made a new project and built the HelloWorld scene that was generated.
It generated projects for all platforms, but I am currently compiling and running the Mac project using XCode.
I can easily add new files using XCode, but of course it only adds it to my XCode Project. I would have expected a way to automatically modify all projects at once to add files or change compiler settings. I saw that there is a CMake file, probably used for command line compilation, but I cannot find a way to use that to regenerate the projects for all platforms.
Is it possible to automatically add a file to all platforms? Maybe it is possible to modify the template directory os Cocos and use the cocos new command line to recreate the project from scratch?
Or is it better to do all that manually?
Such an automation would imply parsing of a project file, finding list of relevant files and then changing all the dozen of project files. Which is hell of the work.
Even if it was implemented, how would this implementation decide which project file is a main one? (to get filelist from) And if your projects all have different lists of files? This would need merging etc. etc.
For now cocos new only copies files from one place to another. Frankly, Cocos2d-x have much more serious problems to solve, so I don't think this feature will ever be implemented.
However, you could customize project files/folders to your needs to make process of adding files more or less convenient and sometimes even automatic. Here are some clues:
It is easy to change Android and Linux Makefiles so they will pick up all the source files from a specified folder. Just use wildcards. Resource files are picked up by default.
For Visual Studio solutions (Win32, Win8, WinPhone) you could enable "Show all files" to see all files that either added or not. Unfortunately you can only see files down in the folder tree relative to project folder. To see Classes folder, make a symlink (link /j) of a Classes folder near .vcxproj file. You'd better don't copy/move project folder after it. And don't forget to add this linked folder to ignore list of your versioning system, or you will end up with duplicated files. Resource files are picked up by default for Windows projects.
I am not aware of any solution for XCode project, so you basically stuck with manual source file addition. Which is most annoying among all platforms. However it can pick up resource folders with all files.
Anyway, I would be glad if someone would proof me wrong and would write some kind of script to solve this problem (and also to change project name, company id, automatic versioning, etc.). I believe it could be done more or less reliably with, let's say Python and some regex magic. At least until project file formats will change.

importing libgdx test projects Error

Problem
I downloaded the libgdx-master.zip library and unzipped it, then tried to import android tests project in eclipse, doing so gives an exclamation mark which is not a unique error but problems i am facing are below.
I did following to sort it out, but did not work for me
Created libs folder in the project and copied all the jars in that
In project properties i added the jar files that come along libgdx-master.zip libray
Cleaned the project
That is what i do when ever resources conflict or exclamation mark comes in my project
Errors
In the imports: The Classes this test project uses from libgdx-master libray
In Project Properties->Java build-> Project-> some missing projects appear
I searched a lot about importing the test projects present in this library, but, can only found creating new project to use this library
What i aspect from the community
Importing test projects from the library libgdx-master, any
tutorial link/guide you used yourself, i tried a lot.
Any one who used this library could answer more properly
what rating/ranking would you give to use this library for android board game development
I know how to import the projects and link the resources, but, in this specific case it did not work for me, if you please answer specifically, i would be grateful.
At the the end i would like to thanks who showed patience to read this.