C# – That assembly does not allow partially trusted callers

cnet

i have developed c# gui application on server computer, and now i want to run it from client.

access to aplication is via mapped directory.

but, when i run it, next error occure:

> See the end of this message for
> details on invoking  just-in-time
> (JIT) debugging instead of this dialog
> box.
> 
> ************** Exception Text ************** System.Security.SecurityException:
> That assembly does not allow partially
> trusted callers.    at
> System.Security.CodeAccessSecurityEngine.ThrowSecurityException(Assembly
> asm, PermissionSet granted,
> PermissionSet refused,
> RuntimeMethodHandle rmh,
> SecurityAction action, Object demand,
> IPermission permThatFailed)    at
> Yobs01.Form1.button1_Click(Object
> sender, EventArgs e)    at
> System.Windows.Forms.Control.OnClick(EventArgs
> e)    at
> System.Windows.Forms.Button.OnClick(EventArgs
> e)    at
> System.Windows.Forms.Button.OnMouseUp(MouseEventArgs
> mevent)    at
> System.Windows.Forms.Control.WmMouseUp(Message&
> m, MouseButtons button, Int32 clicks) 
> at
> System.Windows.Forms.Control.WndProc(Message&
> m)    at
> System.Windows.Forms.ButtonBase.WndProc(Message&
> m)    at
> System.Windows.Forms.Button.WndProc(Message&
> m)    at
> System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&
> m)    at
> System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&
> m)    at
> System.Windows.Forms.NativeWindow.Callback(IntPtr
> hWnd, Int32 msg, IntPtr wparam, IntPtr
> lparam) The action that failed was:
> LinkDemand The Zone of the assembly
> that failed was: Intranet
> 
> 
> ************** Loaded Assemblies ************** mscorlib
>     Assembly Version: 2.0.0.0
>     Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
>     CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
> ---------------------------------------- Yobs01
>     Assembly Version: 1.0.0.0
>     Win32 Version: 1.0.0.0
>     CodeBase: file:///Z:/Debug/Yobs01.exe
> ---------------------------------------- System.Windows.Forms
>     Assembly Version: 2.0.0.0
>     Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
>     CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
> ---------------------------------------- System
>     Assembly Version: 2.0.0.0
>     Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
>     CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
> ---------------------------------------- System.Drawing
>     Assembly Version: 2.0.0.0
>     Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
>     CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
> ---------------------------------------- System.Data.SqlServerCe
>     Assembly Version: 3.5.1.0
>     Win32 Version: 3.5.5692.0
>     CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Data.SqlServerCe/3.5.1.0__89845dcd8080cc91/System.Data.SqlServerCe.dll
> ---------------------------------------- System.Data
>     Assembly Version: 2.0.0.0
>     Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
>     CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
> ---------------------------------------- System.Transactions
>     Assembly Version: 2.0.0.0
>     Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
>     CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
> ----------------------------------------
> 
> ************** JIT Debugging ************** To enable just-in-time (JIT) debugging, the .config file for
> this application or computer
> (machine.config) must have the
> jitDebugging value set in the
> system.windows.forms section. The
> application must also be compiled with
> debugging enabled.
> 
> For example:
> 
> <configuration>
>     <system.windows.forms jitDebugging="true" />
> </configuration>
> 
> When JIT debugging is enabled, any
> unhandled exception will be sent to
> the JIT debugger registered on the
> computer rather than be handled by
> this dialog box.

i did added next line in Assembly.cs

[assembly: AllowPartiallyTrustedCallers]

but it did not help, and error is still there.

it's in dotnet 3.5 framework.

can you help me how to solve this problem?

thank you in advance!

Best Answer

aha i did it!!!

you have to run ....

caspol -m -ag 1 -url "file://\server\mydir*" FullTrust -exclusive on

from client machine, not from server!

Related Topic