Nous avons reçu une demande similaire de notre client. Nous utilisons Dynamics Solomon 2011. Après quelques recherches, nous avons constaté que nous devions créer un environnement de développement en installant VS 2008 d'abord, puis en installant Solomon par dessus. L'installation de Solomon après VS va configurer certains modèles de projet dans Visual Studio pour le développement de Solomon.
https://community.dynamics.com/product/sl/f/35/t/80585.aspx
Il y a quelques discussions aussi que VS 2010 n'est pas recommandé pour une utilisation lors de l'élaboration de la dynamique Solomon. Je pense également qu'il existe un SDK pour Dynamics Solomon que vous pouvez utiliser dans votre application pour vous connecter à la base de données Solomon et utiliser des objets de données. Nous n'avons pas encore essayé mais nous avons trouvé quelques références parlant de développer du code en utilisant ce SDK.
http://www.microsoftdynamicsforums.com/forums/forum_posts.asp?TID=191&title=solomon-Object-model-code
est un code ci-dessous exemple qui utilise le SDK Solomon:
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Dynamics.SL.ObjectModel;
using System.Threading;
using System.Runtime.InteropServices;
namespace LoginSL
{
class Program
{
[DllImport("kernel32")]
static extern void Sleep(uint dwMilliseconds);
public static Microsoft.Dynamics.SL.ObjectModel.SIVToolbar sivTB;
public static Microsoft.Dynamics.SL.ObjectModel.SIVApplication sivApp;
static void Main(string[] args)
{
sivTB = new SIVToolbar();
sivTB.Login("servername", "systemdb", "company", "username", "password");
sivApp = sivTB.StartApplication("9850000.exe");
sivApp.Visible = true;
string datafile = "C:\\0101000.DTA";
string ctrlfile = "C:\\0101000.ctl";
string outfile = "C:\\0101000.log";
//In C# "\\" is the predefined escape sequence for backslash.
sivApp.Controls["cdata"].Value = (datafile.ToUpper());
sivApp.Controls["cfiletype"].Value = "ASCII";
sivApp.Controls["cscreen"].Value = "0101000";
sivApp.Controls["ccontrol"].Value = (ctrlfile.ToUpper());
sivApp.Controls["coutput"].Value = (outfile.ToUpper());
sivApp.Controls["cBegProcessing"].Value = true;
Sleep(5000); //remove the comment marks at the beginning of this line for workaround
sivApp.Quit();
sivApp.Dispose();
//GC.Collect();
//GC.WaitForPendingFinalizers();
//GC.Collect();
Sleep(5000); //remove the comment marks at the beginning of this line for workaround
sivTB.Logout();
sivTB.Quit();
sivTB.Dispose();
//GC.Collect();
//GC.WaitForPendingFinalizers();
//GC.Collect();
//MessageBox.Show("TI is complete"); // Displays complete message
}
}
}