I'm a novice in this field, so my question may seem a bit foolish :( I've developed a custom framework which I want to import in other different projects. But when I import that framework into my project that always throws error (say framework name is example1.framework) file not found. Can anybody tell me how to do it? I added the framework from the build phase of my project's target. What other steps I need to do?
If you are importing a framework you have to add it in your project file.
Go to you main project file (the root of your project)
Go to tab "Build Phases"
Open the section "Link Binary With Libraries"
Now add the framework to the project
Last but not the least: build and run your app :].
Related
I want to store startup settings for my project. When I go to the project Properties/Settings, it's empty except for a link that says, "This project does not have a default settings file. Click here to create one." When I click the link to add one, it says "The system cannot find the file specified. (Exception from HRESULT: 0x80070002." So, how do I add a default settings file?
As mentioned in my comments, this seems to be a bug in VS and ought to be reported to Microsoft. As a temporary workaround, you can actually copy the settings files from a .NET Framework project into a .NET Core project. As far as I can tell from examining various VB and C# projects targeting .NET Framework and .NET Core, the settings files are the same in each case, so there's no issue copying between them. Here's what I did:
Added a VB WinForms app project targeting .NET Framework to the same solution.
Clicked the Show All Files button in the Solution Explorer for both projects.
Expanded the My Project node for both projects.
Dragged the Settings.settings item from the .NET Framework project to the .NET Core project.
It seemed to work as expected after that.
I'm actually using an internal framework in one of my projects. Now I need to modify some of the code of that framework, however, it looks like the changes are no recognised at all by the project that is using that framework.
After committing some changes in the framework, build it and re-import it in the project and debug them, I can see that lines that I added are not executed at all.
I know this because when I add a breakpoint in the framework in one of the new lines, these are never executed as if they didn't exist.
I've tried to remove the framework from my project and add it again by following the steps of these Stackoverflow answer
I expected that my changes in my framework are recognized/syncronised in the project as they use to do.
Maybe I'm doing something wrong, so it would be really helpful your ideas.
I found that it's necessary to follow the next steps strictly delete to don't have the same problem as I was.
Launch the framework project.
Assign the build type to a generic iOS device. Be sure all the classes are assigned to the Target.
Press the play (build) button.
The framework will appear on your desktop.
In the project that is going to use that framework, be sure to remove all the references related to the previous framework version, then delete it from the folder too.
Add the new framework version to its folder in the project.
Assign the references:
Drag the framework that has just been moved to the project, to the framework folder in Xcode.
Drag the framework, that has just been moved to the project, to Linked Frameworks and Libraries.
This worked for me, so maybe this is helpful for someone.
I have a C# solution with VS 2017, containing an app project, a desktop extension project, and a packaging project. As I mentioned in the answer of this question, I finally get msbuild to create a single bundle with both x86 and x64 for me. However, after I tried to install from that bundle, I found that msbuild actually picked up the wrong package.appxmanifest because they have different version numbers.
So... I have two package.appxmanifest, one in packaging project, and one in my main app project. When I build from the wizard in VS 2017, the one in packaging project will be used, which is correct. When I use msbuild to build with just one platform, it will pick the right one as well, like this:
msbuild .\MyApp.sln /p:Configuration=Release /p:Platform=x86
Only when I use msbuild to build two platforms together, it will use the one in my main app project:
msbuild .\MyApp.sln /p:Configuration=Release /p:AppxBundlePlatforms="x86|x64" /p:UapAppxPackageBuildMode=StoreUpload
I also tried to build the packaging project instead of the solution, but because our desktop extension project is only x86, I will get errors about configurations when building x64.
Questions:
Does anyone know why this is happening?
I am also very confused about how to build multi-platform using AppxBundlePlatforms in the command line. Since I cannot specify the platform, which platform is used to build?
Should I add <AppxBundle>Always</AppxBundle> or <AppxBundle>Never</AppxBundle> to the packaging project?
Does anyone know why this is happening?
That because you have two Package.appxmanifest files with same ID in the solution. When you create the App Bundle with .sln, MSBuild/Visual Studio could not to know clearly which Package.appxmanifest should be use.
I am also very confused about how to build multi-platform using AppxBundlePlatforms in the command line. Since I cannot specify the
platform, which platform is used to build?
Not sure the reason why you can not specify the platform. To resolve this issue, you can try yo build the project file .csproj instead of the solution file. For example, when you build the app project, you can use the command line:
msbuild .\MyApp.csproj /p:Configuration=Release /p:AppxBundlePlatforms="x86|x64"
And then build the packaging project:
msbuild .\YouPackaging.csproj /p:Configuration=Release /p:AppxBundlePlatforms="x86"
Should I add Always or
Never to the packaging project?
If you build the project, no need to add those two properties to the project file, those two properties are used to the solution level and you have a project that you do not want to add to the bundle:
because at the solution level, it’s not clear which app should appear
in the bundle. To resolve this issue, open each project file and add
the following properties at the end of the first
element
Hope this helps.
I have a Web Site and Class Library built with ASP.NET 5. The Class Library depends on an set of external files (XML, EXEs, etc.). Those dependencies are added as part of the project and visible in the Solution Explorer of Visual Studio.
My Web Site has a dependency on the Class Library. When I build the Web Site, I would expect the dependencies of the Class Library to be copied to the Web Site, but they aren't.
The Build Action (Copy always, Copy if changed) appears to be gone with ASP.NET 5. How do I make sure that dependencies other then the DLL of the Class Library itself gets copied to the Web Site project?
First thing first, they won't be in src/yourProject/bin/Debug. Those have been moved to the artifacts folder.
Also, your project by default will not output DLLs. This is mainly due to performance reason but if you need your DLL to publish your application, check your project properties. In the Build section you should have an option called Produce outputs on build. Tick that and bingo.
You have your dlls. Most of the time (aka: while coding), you won't need them since they will always be recompiled in memory.
You need to manually add a pre/post build step in project.json
I've got a code in C++ built with some libraries like vtk, fltk, pcl and kinect SDK in Visual Studio 2010. My task is taking this project and integrate it into another C#.NET project with Visual Studio 2013.
I was told to do a new project for the dlls and copy the code I need there to make a wrap. My current problem is that I do not know how to add the references so my code can find the includes for the libraries and compile. I have tried to add the .h and .lib manually but does not work. May you give me any hint?
Thank you.
I'm not entirely clear what your question is, but try this:
Right click on your project in the solution explorer and go to Properties -> Configuration Properties -> Linker -> Input.
In the additional dependencies field, add your .lib file(s).
remember to #include the corresponding header files in your source file.