Generator Warnings and Errors
There are a number of warning and errors that can be produced when Evoke validates you app design at the time of generation. A summary of the most common Warnings and Errors may be found below at these links and this page is continually updated to add further warning and error definitions.
Warnings are information and should be addressed by you but should not stop your app from running. These include things like Templates in your design that are not used and are taking up redundant space in your app.
Errors are notifcations of a real problem that must be corrected so that the generator can generate viable app code and these must be corrected before your app can be built in Visual Studio and then run.
Evoke App Design warnings and errors generally include "[Page Series: XXXX, Page: xxxx, Page Segment Guid: XAXAXA]" followed by an error message. This is the first guide to finding the warnings or error guiding you to the Page Series, the Page and the segment that the error relates to. A very detailed explanation of how to find the Sgement GUID using the UI "List Mode" or "search for segment GUID" options is available at UI Design Menu page. There is also seperate section that explores some of the tips, techniques and ways Evoke can help you find the warnings and errors that you might see in your designs.
Visual Studio is a Microsoft product not a BlueFinity product, it is simply used to build a generated app design into a deployable app. However, as we are often asked to provide support, the most common Visual Studio errors and associated solutions that our customers come across are provided.

Warnings
"[Page Series: XXXX, Page: xxxx, Page Segment Guid: XAXAXA] Segment with access control does not contain a widget id"
There are Evoke funtions, such as Access Control, that require a Segment/Widget ID to be entered. Enter a Segment/Widget ID, unique to this page series, where shown to correct this error.
"[Page Series: XXXX] Unused single [multi] entity template found 'Template Name'"
Probably the most common warning you will see when you generate your app design. This is simply a warning that you have a template that maybe you created an have not used, that was copied during a page copy or page link, etc that is not used in your Page Series and is taking up space in your app.
The solution is to navigate back to the PageSeries and either use the Template or to delete it.
"Missing Comment lines in the Web\Web.Config"
The comment lines that are missing are identified above this warning. This usually happens when new features have been added into Evoke. The Web.Config is a special part of the app that is preserved and NOT re-generated. Therefore, when new features are added it is sometimes a requirement for Evoke users to manually add some lines to the file to support the new features. Existing apps will still be able to be generated, build in Visual Studio and run when these warnings are present but some new features will not be available and the warnings can be annoying.
The lines to add and a full explanation of how to add them may be found in this seperate help page.



Errors
"[Page Series: XXXX, Page: xxxx, Page Segment Guid: XAXAXA] An unbound SelectAutoDrop widget cannot be used with a collective datasource. Widget: XXXXXXXX"
In this example a SelectAutoDrop widget in a Template is trying to place the selected record (option) into the Companies.current (current instance of the collective datasource Companies). You cannot select into the current instance from a selectautodrop when using unbound data as it is not defined or could change.
The solution is to create a singular datasource i.e. SelectedCompany and select into that, then use that datasource and work on that. You can assign the singular datasource elsewhere if you wish (as related data) or add it to a collective datasource.
"Print page not found within a [PDFfromPage or XXXXX] click action: [Page Series: XXXX, Page: xxxx]"
This is a common error with multiple "Click Actions" and always include "Page not found" in the error. It is simply that the page has not be selected in the Click action definition, has been deleted from the PageSeries or has not been included in the PageSeries.
The solution is to return to the click action definition and to select a destination or source page.
"A top-level segment with no widget ID within a page used by a PDFfromPage click action has been found: [Page Series: XXXX, Page: xxxx, Page Segment Guid: XAXAXA]"
This error is specific to the click action "PDFfromPage". The page that is to be printed by this click action requires all top level segments to have a Segment/Widget ID.
The solution is to return to the click action definition and add Segment/Widget IDs to all top level segments.
"A PDFfromPage click action cannot use its parent page: [Page Series: XXXX, Page: xxxx]"
This error is specific to the click action "PDFfromPage". Usually it occurs because you have used a "shared Template" and the click actions in the segment include PDFfromPage and the target page is either the current page or a parent page - neither of which are permissable.
The solution is to identify the shared segment in the Print page, make a copy and remove the click actions.
"Page Series: XXXX, Page: xxxx, Page SegmentGuid: xxx Null Property (#2) found in data template"
On the selected page in the identified template, a property has been added to the Template but a property name has not been selected.
It is also possible that this property was then removed again before a property was selected.
This would have been the 2nd property in the template (Property number 2 in this example). As you cannot have a blank/empty/null template property the generator gave an error/warning.
The solution is to identify the blank property in the template and remove it OR Very occasionally, somehow this blank/empty property, that was created and then deleted, can be left in memory on your computer (but NOT in the app design) at the time of the generation, in this case try reloading the app design or restarting Evoke to clear memory and generate again.
"Page Series: XXXX, Page: xxxx, Widget ID: xxx Page Segment Guid: xxxxxx No data source supplied"
On the selected page, in the identified template, a template has been selected without a datasource being identified/selected.
The solution is to select a datasource for this segment/template combination by using the "build" button.



Visual Studio
"Visual Studio opens with the 'Web' project "unloaded"
If you have configured your Visual Studio solution to use "Local IIS" then Visual studio needs to be opened in "administrator" mode.
If you have the solution set to use "Local IIS" and you do not open Visual Studio in administrator mode then the Web project will show "unloaded" - the solution is to open Visual studio in Administrator mode and then load the solution.
Visual Studio build error - "filename: error CS0152: The switch statement contains multiple cases with the label value "PrimaryKey (or other property)"
In the Data Mappings in your project you have identified a "primary key" column/attribute/field as the Primary key column (top right on image) AND the same column property in the "Local Data".
If the Primary Key is to be identified in the "Local Data" then you should use the special "{key}" identifier. Please see image opposite.

Visual Studio build error - The command "%ProgramFiles(x86%\Bluefinity\Evoke \EvokeNativeGenPrep.exe" "c:\EvokesApps\....." /shell" exited with code 3
This can occur after you install the generated app folders (repository access and web) on a new machine (i.e. a web server for deployment). This is caused by the deployable app being re-built in Visual Studio on the web server after it has been generated on a different machine.
Right click the "web" project in Visual Studio, select Build Events (see image) and delete the Post-Build command line that is there and re-build. (You could also install Evoke on the web server but that would be an extreme solution and is far more than actually required).