Error building a Release version when referencing a Web Service - xamarin.android

If I create a New Mono Android application, then change the Active Config of the solution to Release, then right click and choose build, the application builds fine.
If I then add a web reference to http://soatest.parasoft.com/calculator.wsdl as per this tutorial, then if I build again I get the error:
Error 1 Could not load file or assembly 'mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' or one of its dependencies. Strong name validation failed. (Exception from HRESULT: 0x8013141A)
C:\Users\Administrator\Documents\Visual Studio 2010\Projects\MonoAndroidApplication3\MonoAndroidApplication3\SGEN
If I change the Active config back to Debug then build, then the solution builds fine.
However, I cannot get the Release config to build at all when referencing any web service. This is causing me problems as I can't deploy a release version of my application.
I have tried using VS2010 and MonoDevelop 2.6 Beta 2, both give the same error.

I can't figure out why this is happening, but you can workaround it by going to the Build tab of your project properties and turning off "Generate serialization assembly".

Generate serialization assembly prevented you from building.
I got the NameResolutionFailure when selecting Release target because i didn't set the INTERNET permission in the application's options:
right click your project
select options
select the left item "Mono for Android Application"
set Required Permissions: "INTERNET" by checking the checkmark next to it.
It seems that this is active for debug builds since it's used to connect the debugger to the application.
You have to set this yourself in the Release build configuration.

Related

Error: Could not find or load main class org.grails.cli.GrailsCli

I'm trying to start a Grails 4 application in Intellij, the project is configured with Java 8 and Gradle seems to be loaded correctly, but it gives me the following error:
error: Could not find or load main class org.grails.cli.GrailsCli
Is there any know method in which I can get around this problem?
First, check if the language level and SDK are correct (File > Project Structure > (Project/Modules) > Language Level)
From 360learntocode' blog post:
This might be due to the removal of some dependencies or libraries
from the application. Sometimes, while loading multiple applications
from IDE while downloading the library for a particular project other
libraries for another project might remove so this kind of error might
occurs for that project.
Let's first delete the build folder under the application.
Now, let's refresh the Gradle project. Here we are using IntelliJ
Idea, we can refresh the project as below
Image description:
Click Gradle on the right tab;
Select the project;
Click refresh.
After refreshing the project it will download the missing
dependencies. Then run the application which will resolve the problem.
We can also try cleaning the application.
If we are using the command line then type the following command to
clean the application.
grails clean
If we are using the IntelliJ idea then Ctr+Alt+G opens the command
window and use the following command.
clean
Now, re-run the app.

How to specify configuration for framework in Xcode?

I cannot understand how to specify configuration for framework
For example, I have the project "MyProject.xcodeproj" with 3 configurations: Debug, Stage and Production. The project includes my framework "Xelby" so when I trying to build the project Xcode fails with error "Xelby framework not found".
Xelby has 2 configurations Release and Debug. So I don't understand how to specify Release configuration of Xelby on Stage configuration in my project.
I tried to add Release folder to Framework Search Paths but Xcode began to behave inappropriately, constantly hung up and other

Created new XCode Configuration and Scheme - linker is suddenly failing

A new XCode project has Debug and Release Configurations. I've added a new one under "ProjectName > Info" called "development", which is for now a duplicate of "debug".
I wanted to create a new scheme for building the app in development mode, so I duplicated the "Projectname" scheme and named it "DevelopmentScheme".
I set the build configuration for "run" and "archive" to the new "development" configuration that I created.
I'm still able to build the original Scheme.
I'm also able to build all of the required libraries when the project is configured with the development scheme, but when I get to the linking phase, I get the error:
ld: library not found for -lRNCookieManagerIOS
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Being relatively new to iOS development, I'm not really sure what the issue could be. Since I duplicated everything, shouldn't that mean they behave in the same way? Thoughts on what might be different between the original and new schemes?
The problem is that Xcode will expect to find the libraries inside a folder named after your custom configuration. You can add the custom configuration to each library you use, or better follow the steps below to make it use the libraries built via the Release configuration.
Steps:
Select your target
Open Build Settings tab
Search for 'Library Search Paths'
You'll see your new configuration name alongside Debug and Release
Double-click the space next to your new configuration name
Enter "$(BUILD_DIR)/Release$(EFFECTIVE_PLATFORM_NAME)"
Set recursive to true.
Exit the dialog and you should see:
(inspired by this post)
Xcode 8.3.2 needs a bit different changes.
To make it work, you need to change the Per-configuration Build Products Path for your custom build config. For example, I have an Internal build config. In that field, instead of $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME), I put $(BUILD_DIR)/Release$(EFFECTIVE_PLATFORM_NAME), and now it works :).

Missing ant and "code 8" errors when building multi-device hybrid application project

I have installed Multi Device Hybrid apps and when I'm building and debugging new project it showing these three errors
Error 1 executing command 'ant', make sure you have ant installed and added to your path.
Error 2 C:\Users\User\.cordova\lib\android\cordova\3.5.0\bin\create.bat: Command failed with exit code 8
Error 3 The command ""C:\Users\User\AppData\Roaming\npm\node_modules\vs-mda\vs-cli" prepare --platform iOS --configuration Debug --projectDir . --projectName "BlankCordovaApp2" --language "en-US"" exited with code 8.
But I have set all the paths and adt_home in environment variables and still it is showing this error what to do
Try the following to check and enable all required Environment Variables for Multi-Device Hybrid App.
Step 1:
Go to Visual Studio -> Debug Menu -> Multi-Device Hybrid Apps ->
Environment Variables Settings
Step 2:
Select Required Environment Variable from here as mentioned in
the attached screenshot
Make sure ANT_HOME path is set to correct location like %systemdrive%\apache-ant-1.9.3 and make sure ANT is installed at location ANT_HOME is pointing. Also make sure system path is set to %ANT_HOME%\bin. You can download ANT from here in case it is not already installed.
I found the solution to “code 8” errors when building multi-device hybrid application project. The error message you get is: Error 2 \bld\Debug\platforms\android\cordova\build.bat: Command failed with exit code 8 \MDAVSCLI 1 1
This happens if you play around with the config.xml in DevStudio GUI (not textually edit the file). If you change the LaunchMode property and change it back to default value which is "singleTop", a new entry will be added to config.xml:
<'preference name="AndroidLaunchMode" value="singletop" />
Just delete the entry, and your project compiles fine again. Quite a nasty bug in DevStudio

TFS build not building typescript files on server

I have set up typescript in Visual Studio to build a single file output.
However when I check my project into TFS and build it on the server this file is not created.
It turns out the settings are different for different configurations.
On the build server I am doing a Release build and the settings are per configuration.
So I just duplicated the settings and everything works fine now.
Possibly you're seeing it build on the client because of Build on Save, but it's not building on the server because you aren't importing the CompileTypeScript build target.
Navigate to your project in the Solution Explore, right click it, and Unload Project. Right click the unloaded project and select "Edit yourproject.csproj".
You need this line
<Import Project="$(VSToolsPath)\TypeScript\Microsoft.TypeScript.targets" />
in the file after all of your TypeScriptCompile items are listed. I have mine as one of the last lines in the file.
This will cause the default action (usually Build) to actually compile your TypeScript.

Resources