XNA/MonoGame publishing game, could not load SpriteFont as non content file - c#

I have finished making a game; however, when I try to publish it. It publishes fine but when launching the application it crashes
SpriteFont
It says that it could not find MyFont.xnb (which is a SpriteFont in the content folder)
When I go to my Program Files and look, the SpriteFont is nowhere in my solution. Why did it not build with the rest of the program?
In my application itself, I made sure to include the asset and it works fine if I run the program on my machine. It only crashes like this after I publish the application.
How do I fix this issue?

Try checking the properties for the file in whatever compiler you're using.
In visual studio for example :
Make sure Build Action is set to compile.
Make sure copy to output directory is set to anything but do not copy, which is the default for monogame in my experience.

Okay so I fixed my issue:
I made my XNB file Build Action set to: "Content" and "Copy always"
Then, when setting up the project to release I used InstallShield Limited Edition Deploy.
When asking me for which files to deploy, I made sure to select "Primary Output" "Content" and "Add File" -> "MyFont.xnb" and I added it in manually, that made sure it was ready to go.

Related

How to rename "Primary output from MyProject (Active)" and .exe

I am brand new to building and deploying Windows Forms applications, so new that I'm not even sure "build" and "deploy" are the correct terms. I read this excellent guide to creating an installer for my application, and I mimicked it almost exactly.
I have a winform project UmfExtract and a setup project UmfExtractSetup that installs UmfExtract . After installation, however, on Windows 10, an icon appears at the top of the start menu, under Recently Added: "Shortcut to Primary output from UmfExtract (Active)." I want to rename that to just "Shortcut to UmfExtract" or just "UmfExtract." Additionally, in the installation directory, the .exe and the .exe.config are the same as the original name of my project when I first created it, PythonExecuter. How do I change PythonExecuter.exe to UmfExtract.exe? Elsewhere on the user's computer, the application is named correctly. On the desktop, the shortcut icon says "UmfExtract," which is correct.
In all my research on this, people have said to change the Assembly name. I have done that. The Assembly name is UmfExtract:
I looked into the Outputs property of the Primary output object:
The AssemblyTitle and AssemblyProduct in AssemblyInfo.cs have been changed to UmfExtract:
What else could I possibly be missing? Could I perhaps accidentally be installing an older build of my project? I right-click on each project in the Solution Explorer and click Build (while the Debug/Release drop down box in Visual Studio is set to Release), then I navigate to the Setup project on my local machine and go to \Release\UmfExtractSetup.msi. I imagine that .msi file is updated/overwritten to the new information each time I Build the projects. Could it be that I'm building wrong?
I'm not 100% sure what was wrong, but the problem has been fixed. I believe the error was in the build process. I believe I was installing an old build of the project. I clicked Build > Clean Solution from the menu bar, then Build > Build Solution. I also right-clicked the UmfExtract project and then clicked Clean, then Build, and I also right-clicked the UmfExtractSetup project and then clicked Build (there was no Clean option in the right-click menu for the Setup project).

"Error while trying to run project: Unable to start program". Can run program only once. Then VS needs restart

I'm running my .NET 4.0 (C#) project in debug mode after I start VS2013. It runs just fine.
The second time I start it from VS, I get the Dialog box that says "Error while trying to run project: Unable to start program C:\path\to\file.exe"
The process is still alive in the Taskmanager when I dismiss the dialog box.
From Windows Explorer, I can run the program just fine. And after closing it, the process is gone too from the Task Manager.
A rebuild doesn't help.
Is this a common problem with a known solution?
I had an issue similar to this and I had to clear the component cache instruction can be found Here.
Hope this helps.
For my case, it cause by Platform target, you could force choose it to x86 or x64 which your project is:
Each Project's Properties > Build > Platform target
As I pointed out also here, the only solution that worked for me was to disable the ConEmu integration:
ConEmu → Settings → Integration → Default term → disable Force ConEmu as default terminal for console applications
Some users reported that it was enough for them to disable the Aggressive mode in that same settings tab; that wasn't the case for me though.
The topic is old, but this might help someone else.
So in my case I made a file in Visual Studio with .cp extension (accidentally deleted the last 'p') this made visual studio just "include" the the file and not mark it as a compilation unit, thus not compiling it, I looked the *.vcxproj file in a text editor and found out about this, so if you open the project file in a notepad or something just find your file at the bottom usually and change from <Item .../> to <ClCompile .../>
I was getting similar errors. I just had to restart visual studio. Sometime couple times a day.
I had a similar error and resolved it by cleaning the solution. Right-click the solution name in Solution Explorer and choose Clean Solution.
I found a solution here:
Please check "Use Managed Compatibility Mode" under Tools|->Options->Debugging->General.
I'm Brazilian, I don't speak English very well. I did this translation on google translator.
I know the topic is old, but it can still help someone.
I had this same problem in the following situation, I have a dual boot computer (linux debian 11 and windows 10). Inside debian, on my NTFS D disk, I created a folder to perform programming tests. After accessing that same folder with windows, I created a new project in visual studio inside that same folder that I had created in linux. The creation of the project went without problems, however when I tried to run the project (F5), I received the same error from this topic. I tried all the solutions I found on the internet, and nothing worked. I gave all permissions to my admin user and it still didn't work. Then I realized that even going straight to the folder where the application's executable was and clicking directly on it, I still received the access denied error message. So, I took the project out of the folder I had created in linux, and it worked. So, what I could conclude, is that because the folder where my project was was created in linux, for some reason, my windows didn't trust this folder, so it didn't allow running executables from inside that folder, even this one executable having been created by visual studio from within windows.
Just simply create a folder name as "projects" in c drive and copy paste the newly created project in it. Run the project by doing clean & Build or Rebuild method . It will work
open the folder which contains the solution in visual studio.
again, open your *.sln file by double clicking it inside the solution explore once opened try running the solution or rebuild the solution. once rebuild gets completed, it will open without error from next time.
My way of solving the error : error while trying to load project : Unable to start program and c:\Path\to\file.exe was simply by
First restart Visual Studio
Click the build icon
Select the rebuild option
Run the Program or Debug the Program
This was a weird one. Going to put what happened to me here because it might happen to someone else. Everything was fine with the app until suddenly after some fairly insignificant code changes I suddenly started getting this error. Visual Studio was compiling the executable just fine. But, the moment I tried to run it (either from Visual Studio or directly) the executable file would be automatically deleted right out of the Debug folder. Super odd--never seen anything like it. I began to get suspicious that perhaps an anti-virus or the OS was somehow identifying a checksum or some signature in the executable as "dangerous". Or perhaps some obscure compilation bug was corrupting the executable. So on a hunch I made another innocuous change (added a couple of lines of code to color code some text in a rich text box) and the problem went away.

New changes do not appear in bin debug

I have created a windows form application.
Few days ago I started making it look better by changing icons and images.
But the changes do not appear on my form. (imagelist and program logo .ico)
I have built/cleaned my application several times.
Is there something else I should clean?
Please make sure that in the solution's properties the project is actually marked for build. You can - for every project in the solution - check a box saying whether the project should actually be built or not.
Make sure you are compiling to Debug and not Release
Make sure you have the same platform (x86, x64, Any CPU) than before.
If still problems:
Clean solution
Delete bin and obj folders.
Rebuild
Also, its a good practice to have images and icons in resources. If you don't you can give it a try.
Update
Are you sure the app is compiling? You might have said to run even with errors and checked to not ask you again. Go to View menu -> Error list and see if there is any compiling error.
Any resources ( image files for example) must be added to the project and marked as copy to output folder ( always ) there is the option to copy if newer but since this is dependant on time stamps the first choice is more reliable.
Without this associated resource files will not end up in your build output folder.

Can't rebuild my application anymore

I'll give you 2 versions of my problem to describe it, first the short version.
When I try to build my application it does that perfectly and my app works but when I try to rebuild it, that fails and gives an error message saying that 2 files are missing (bin/debug/MusicPlayer.exe and bin/debug/MusicPlayer.pdb). When I then try to build normally, it fails to with the same error.
Now the longer version:
The way this happened was quite out of nowhere, I program on 2 different locations (both in Visual Studio 2010 sp1) but to always have the recent version in the right place I copy the entire solution folder to a usb stick, this folder I copy over again on the other PC and use it to continue were I left off, I've done this many times without problem. Yesterday however, I got an exception while testing the app. But instead of showing this in my code, it was complaining that it could not find the program.cs file (it was there, but apparently it had a different checksum (md5) and it asked me to use this one. After a while I found what part of my code caused the exception and fixed it. Since then I haven't got that error anymore. But when I later tried to rebuild instead of build, it gave me the error described in the short version. I have tried to fix it, but apparently I was not very successful.
Basically, what I think it does is delete the files in the debug folder that need rebuilding and then gives me the error of missing files (the files that it deleted) and thus failing to rebuild succesfully because these deleted files the normal build option won't work to.
(What I then do is re-copy them from my usb to make the normal build work).
Don't know if it's important, but I program in C# and I'm still learning.
Also when I copied it to my usb I believe I had no errors and the app was working fine (except the part I fixed later, which I could not test at that location). And when I build the entire solution it gives some warning ==> "Assembly 'bun/debug/MusicPlayer.exe' is incorrectly specified as file" and this for 5 files.
Does anyone know how to fix this rebuild problem and if necessary the warnings?
Thanks in advance
(and sorry for my bad English)
OK it seems like you might be confusing yourself with your directory structure here. If you want to add Content or Resources (Images, Text Files, etc.) you should place them in a folder within your project (not called bin or obj). All your build files will go here. Instead place the Content in another folder and Right Click -> Properties and Set the build action to "Content" or "Resource" and set the Copy to Output Directory (bin folder) to "Do not Copy" or "Copy if newer."
The project is failing because you have the built executable "MusicPlayer.exe" in your project. So Visual Studio is trying to build an executable file in adding to the project. Restructure your directories or remove "MusicPlayer.exe" ever time your build your project.
Do you have any anti-virus software running? They can go way too aggressive on removable drives. You are actually continuously deleting and creating a runnable program on usb stick by recompiling.
Just a guess tho...
Sounds to me like you have a pre- or post-build event with a hardcoded path in it. Fix that using variables and it should be ok.

Why are my binaries not placed in the /bin/release folder when I build a Windows Service in C#?

I am new to C# and VS 2010, and am following an online guide to creating a C# Windows Service in Visual Studio 2010.
When I try and build the application however, I don't get any files created under the /bin/release folder.
I do get files under the /bin/Debug folder.
I have tried all the build configurations e.g Active, DEBUG, Release, All but nothing changes.
I have tried closing the solution down and restarting etc.
I have also experienced this same problem on a number of other projects which have been C# console apps.
The /bin/release folder exists (as I had to create it by hand) and I have checked the output path in the properties tab to ensure the release configuration is targeted to that folder.
I asked our "C# guru" at work and he didn't have a clue. Does anyone know what could be causing this?
Most likely, you are only configuring the Release build, not actually building the project in Release mode.
Simply select "Release" mode from the drop down box in the toolbar, as shown in pic below:
or you can do the same thing from your project's Properties:
Then when you will build the project (Ctrl+Shift+B), it will build in Release mode and place the output in the folder you have configured in Project properties. (Usually this is bin/release.)
If you still don't see files in the release folder then as suggested by Gishu in the comments, check the Output Window while the build is in progress to see where the binaries are actually being created.
I witnessed the same problem.Even when I had the configuration as Release as shown above,VS will some how ignore it and as I can see from the output window,it puts it in the Debug folder.
Trick that worked for me:
1] Go to Build Tab on VS.
2] Click Configuration manager.
3] Under the drop down both at active solution configuration and the project specific configuration, select release.
4] Check the project properties just to make sure. Then build it.I the release folder the required files.
Accept the answer if it helps.

Categories