Can anyone tell me why I'm getting this error?
I'm in the process of converting my AutoCAD/LDD/Civil 3D 3rd party Visual Lisp application (That I've been marketing since 2002) to C#.NET. I'm developing and integrating assemblies that gradually replace the functionality in each of about 100+ vlx files that are distributed and loaded to make the application run.
One of the vlx's contained a dialog for browsing for folders to use for storing program design & production data. I designed a very nice, dramatically improved dialog with C#.net that replaced the old version. I developed it using Visual Studio 2008 on a Windows XP computer. I tested it on two computers located in two different cities and setup by different people. AutoCAD 2009 and 2010 were both used for testing on Windows XP.
Today, I sent the updated version of the application to a client using Windows 7 and I was told that the application crashes now when trying to select a data path!
First, here is the portion of the Program.cs source that calls the dialog:
-------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Text;
//
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
namespace AseLandDataPathManager
{
public class Class1
{
public static Editor acEditor = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;
//****************************************
//[CommandMethod("AsePath")]
[LispFunction("AsePath")]
public ResultBuffer ASEDataPath(ResultBuffer args)
{
ResultBuffer rbfResult = default( ResultBuffer );
Form DataPathForm = new DataPath();
Autodesk.AutoCAD.ApplicationServices.Application.ShowModalDialog(DataPathForm);
rbfResult = new ResultBuffer( new TypedValue( (int)LispDataType.Text, DataPath.m_strCurrentPath ) );
return rbfResult;
}
//****************************************
Here's the error that occurs when the command is invoked:
------------------------------------------------------------
Command: _DESIGN_DATA_PATH_SET
ASE: Dictionary initialized.
layer
Current layer: "0"
Enter an option
[?/Make/Set/New/Rename/ON/OFF/Color/Ltype/LWeight/MATerial/Plot/Freeze/Thaw/LOck
/Unlock/stAte/Description/rEconcile]: unlock
Enter name list of layer(s) to unlock or <select objects>: * Enter an option
[?/Make/Set/New/Rename/ON/OFF/Color/Ltype/LWeight/MATerial/Plot/Freeze/Thaw/LOck
/Unlock/stAte/Description/rEconcile]:
Command: System.Security.SecurityException: Request for the permission of type
'System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
at System.Security.CodeAccessSecurityEngine.Check(Object demand,
StackCrawlMark& stackMark, Boolean isPermSet)
at System.Security.CodeAccessPermission.Demand()
at System.Drawing.Icon.FromHandle(IntPtr handle)
at
Autodesk.AutoCAD.ApplicationServices.Application.ShowModalDialog(IWin32Window
owner, Form formToShow, Boolean persistSizeAndPosition)
at Autodesk.AutoCAD.ApplicationServices.Application.ShowModalDialog(Form
formToShow)
at AseLandDataPathManager.Class1.ASEDataPath(ResultBuffer args)
at Autodesk.AutoCAD.Runtime.CommandClass.InvokeWorker(MethodInfo mi, Object
commandObject, Boolean bLispFunction)
at
Autodesk.AutoCAD.Runtime.CommandClass.InvokeWorkerWithExceptionFilter(MethodInfo
mi, Object commandObject, Boolean bLispFunction)
at Autodesk.AutoCAD.Runtime.PerDocumentCommandClass.Invoke(MethodInfo mi,
Boolean bLispFunction)
at Autodesk.AutoCAD.Runtime.CommandClass.CommandThunk.InvokeLisp()
The action that failed was:
Demand
The type of the first permission that failed was:
System.Security.Permissions.SecurityPermission
The first permission that failed was:
<IPermission class="System.Security.Permissions.SecurityPermission, mscorlib,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Flags="UnmanagedCode"/>
The demand was for:
<IPermission class="System.Security.Permissions.SecurityPermission, mscorlib,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Flags="UnmanagedCode"/>
The granted set of the failing assembly was:
<PermissionSet class="System.Security.PermissionSet"
version="1">
<IPermission class="System.Security.Permissions.EnvironmentPermission,
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Read="USERNAME"/>
<IPermission class="System.Security.Permissions.FileDialogPermission, mscorlib,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true"/>
<IPermission class="System.Security.Permissions.FileIOPermission, mscorlib,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Read="I:\ASE-SOFTWARE\"
PathDiscovery="I:\ASE-SOFTWARE\"/>
<IPermission class="System.Security.Permissions.IsolatedStorageFilePermission,
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Allowed="AssemblyIsolationByUser"
UserQuota="9223372036854775807"
Expiry="9223372036854775807"
Permanent="True"/>
<IPermission class="System.Security.Permissions.ReflectionPermission, mscorlib,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Flags="ReflectionEmit"/>
<IPermission class="System.Security.Permissions.SecurityPermission, mscorlib,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Flags="Assertion, Execution, BindingRedirects"/>
<IPermission class="System.Security.Permissions.UIPermission, mscorlib,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true"/>
<IPermission class="System.Security.Permissions.UrlIdentityPermission,
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Url="file:///I:/ASE-SOFTWARE/AseLandDataPathManager.dll"/>
<IPermission class="System.Security.Permissions.ZoneIdentityPermission,
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Zone="Intranet"/>
<IPermission class="System.Net.DnsPermission, System, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true"/>
<IPermission class="System.Drawing.Printing.PrintingPermission, System.Drawing,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
version="1"
Level="DefaultPrinting"/>
</PermissionSet>
The assembly or AppDomain that failed was:
AseLandDataPathManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
The method that caused the failure was:
Autodesk.AutoCAD.DatabaseServices.ResultBuffer
ASEDataPath(Autodesk.AutoCAD.DatabaseServices.ResultBuffer)
The Zone of the assembly that failed was:
Intranet
The Url of the assembly that failed was:
file:///I:/ASE-SOFTWARE/AseLandDataPathManager.dll; error: ADS request error