Remote warehouses are not directly connected to the central office and thus are not connected to the ERP System (Microsoft Dynamics Ax 2009). Employees at remote warehouses need to perform inventory transactions on iTouch devices and some of these transactions require a label to be printed on a Zebra label printer. Label printing typically involves a centralized print server that formats and streams the print job to a Windows Print Queue. Remote printing using a Microsoft Print Queue is not feasible across the internet.
The solution to this problem was to build a simple Windows Service which self hosts a WCF service. The Windows Service has the ability to function as both a server and a client. The service can poll other services for print jobs, if the print job is local the job is sent to a local label printer, if the job is remote it is queued for a remote server to poll (via WCF Services). Print jobs are archived which allows a user to load the Status Monitor application and reprint a label.
Users can reprint labels using the above status screen.
User’s can configure the print server, start and stop the service, and update the application using the configuration screen.
This software is written in .NET 4.0 using WPF/XAML as the UI. The application implements the Model-View-ViewModel MVVM pattern. The Windows Service is written in .NET 4.0 and self hosts a WCF Service. Remote printing is implemented using WCF with client/server X.509 certificates for security.
Error 1 The type or namespace name 'log4net' could not be found (are you missing a using directive or an assembly reference?) c:\projects\DevSQL\…\Properties\AssemblyInfo.cs 4 7 SomeService
Warning 8 The referenced assembly "c:\projects\DevSQL\…\AccountService\aaa.ServerCommon\bin\Debug\aaa.ServerCommon.dll" could not be resolved because it has a dependency on "System.Web, Version=220.127.116.11, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which is not in the currently targeted framework ".NETFramework,Version=v4.0,Profile=Client". aaaService
So you are getting an error that typically points to an assembly reference not found. Well just hang on a second before you go wild with debugging this. First, check to make sure that there are no yellow exclamation marks on the assembly reference. That would be a classic assembly not found problem. If it is not there you may have another issue as discussed here.
Check to see if you have any warnings.
If you have warning messages like this you have a .NET 4.0 Profile settings error. This is super easy to fix. To give you some background on this, there are now more than one installation profile for .NET Runtime Libraries. One is Full and one is Client. The idea behind this is that if you are building a program that does not need to reference server side assemblies (System.Web.* as an example) then why install them? You can now target a Full or Client profile. The Client profiles will NOT have the server assemblies installed.
To fix the problem, you need to target the full profile. Simply Right click on your project and go to Properties.
Simply change the Target Framework drop down to .NET Framework 4 instead of .NET Framework 4 Client Profile and your code should compile.