Bug 19483 - Able to build apps with non-alphanumeric characters in the assembly name
Summary: Able to build apps with non-alphanumeric characters in the assembly name
Alias: None
Product: Visual Studio Extensions
Classification: Xamarin
Component: iOS ()
Version: 3.0
Hardware: PC Mac OS
: Normal normal
Target Milestone: ---
Assignee: Bugzilla
Depends on:
Reported: 2014-05-02 04:45 UTC by narayanp
Modified: 2014-05-06 12:35 UTC (History)
8 users (show)

Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.

Please create a new report on Developer Community with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:

Description narayanp 2014-05-02 04:45:07 UTC
Steps to reproduce:
1. Create iOS application whit name hi-fan(-) .
2. Now go to project location and open .csproj file.
3. Observe that hyphen is missing from there under <AssemblyName>AppName</AssemblyName>.
4. Now use the hyphen in appname like project name something like <AssemblyName>AppName-Test</AssemblyName>
5. Go back to IDE
6. Build the application.

Actual Result: This is giving build error "Error: iOS executable name must be alphanumeric (Project Options->Build->Output)". I have checked the same thing for Android where I am getting App name as project name same with hyphen even project gets build successfully.

Note: With Visual Studio after setting hyphen in App name in .csproj file I am able to build application successfully 

Expected Result: I thing it should behave like Android.

Supplement info:
Build Output: https://gist.github.com/saurabh360/1d1e8e90a301ca84c76a

Environment details:
All Mac
X.S 5.0(Build 830)
Git revision: 1d419850dfed9bc855a1df86d552bf4acd7f4a3e
X.iOS 7.2.3-24

Regression Status:
Getting same behavior with stable iOS
Comment 1 Rolf Bjarne Kvinge [MSFT] 2014-05-05 10:53:47 UTC
This is in fact a problem with the VS addin: it should not allow this either.

This error is shown because iOS does not like non-alphanumeric executable names (you can end up with apps that don't install/start), and the error iOS shows is *much* more cryptic.
Comment 3 Vinicius Jarina 2014-05-05 16:22:47 UTC

*** This bug has been marked as a duplicate of bug 16081 ***
Comment 4 Alan McGovern 2014-05-05 16:28:29 UTC
Is there even a bug here?Isn't the build failing a desired outcome when the user manually inserts invalid characters into their application name?
Comment 5 Vinicius Jarina 2014-05-05 16:41:40 UTC
Comment #4

There is no bug. XS have the same behavior ;)
Comment 6 Rolf Bjarne Kvinge [MSFT] 2014-05-06 02:26:38 UTC
@alan: the bug is that the build *doesn't* fail with VS (from the initial description: "With Visual Studio after setting hyphen in App name in .csproj file I am able to build application successfully ")
Comment 7 Alan McGovern 2014-05-06 08:24:52 UTC
Rolf,according to step 2 and 3 its because VS stripped out the hyphens. 

In step 4 hypens are added back in manually by editing the csproj file by hand, this causes the build to (correctly) fail in step 6.
Comment 8 Rolf Bjarne Kvinge [MSFT] 2014-05-06 12:35:59 UTC
Heh, this is why it would be nice to be able to edit bugzilla bugs. but unfortunately I didn't see the possible confusion until now (otherwise I'd probably open a different bug).

The initial steps 1-6 occur with Xamarin Studio (look at the screencast), and is the correct behaviour.

Quite unintuitively this means that  "Actual result" is in fact "Expected result".