StrataFrame Forum

"That assembly does not allow partially trusted callers" error

http://forum.strataframe.net/Topic11460.aspx

By AlexSosa - 9/13/2007

I found a couple of other referenes to this problem here, and it was implied that an assembly cannot be run from a network drive.  However, I want to learn how to keep development directory in network drive in preparation for time when more than one developer is working on same project.

How is it possible to run an assembly from a particular network drive, and directory, not from other places?

Thank you very much,

Alex

By Keith Chisarik - 9/13/2007

I suggest using a source control solution with local working directories.



If you must work directly from a network share, you will need to open up the security a bit using the .NET Configuration tools available in the Control Panel under Administrative Tools.



Hope that helps.
By AlexSosa - 9/13/2007

Thank you, Keith.  I have been using Visual FoxPro, and our startup program makes a copy of the project on the fly for each developer which is good enough for a (very) small team.  What Source Control solution do you suggest?  Thanks.

Alex

Keith Chisarik (09/13/2007)
I suggest using a source control solution with local working directories.

If you must work directly from a network share, you will need to open up the security a bit using the .NET Configuration tools available in the Control Panel under Administrative Tools.

Hope that helps.
By Keith Chisarik - 9/14/2007

We use Visual Source Safe, because it fit the budget. It has worked fine for us, I don't know that I would go so far as to recommend. From what I hear Team Foundation version of VS is a lot better and not too $$$ if you have MSDN.


By Trent L. Taylor - 9/14/2007

Yeah, Keith is correct.  Team Foundation is far superior to Source Safe.  You actually get a workgroup license which allows 5 developers through the MSDN Subscription with Team Developer Edition.  It is definitely worth the money and you get a lot more with the MSDN subscription than just VS and the Team Foundation stuff.  Highly recommend it!!!

To expand a bit, .NET is designed in to implement much more stringent security environment and ties in to the OS to prevent malicious attacks using security policies.  By default, any network drive is considered a risk and will not execute any .NET assembly.  You can open up your trusts through the .NET 2.0 COnfiguration Manager found in the Control Panel->Administrative tools...however, I recommend against this.  When you have multiple developers accessing the same source files I can guarentee that you will have MAJOR issues and frustrations.  .NET is designed to work best through a source control solution.  At first, coming from VFP, I was not sure that this was a good idea....however, once we started using it it was like tasting candy for the first time Smile  It makes a tremendous difference in cleaning up and creating a standardized, secure, and safe development environment...along with faster access to the source files.

By AlexSosa - 9/16/2007

Thank you very much for the advice, Trent and Keith.

By the way Trent, I've had a slow start with Strataframe (and .NET in general) mostly because of indecision: winforms or webforms, fat client or browser interface?  For the application we are starting a fat client makes sense since a LOT of interactive calculations need to be made and state must be kept or recalculations on every hit would kill responsiveness.  My partner believes it is important to achieve dramatic eye-candy (as well as solid behavior of course) to achieve commercial success.  Also we need to become experts at web apps ASAP, so that is an argument in favor of diving into a browser based app.

Would you comment of the above issues, please?  You will be seeing questions about how to blend Infragistics controls with winforms in Strataframe as well as deploying and updating a winform app via internet as we try to get the best of both worlds.

Thank you.

Alex

Trent L. Taylor (09/14/2007)
Yeah, Keith is correct.  Team Foundation is far superior to Source Safe.  You actually get a workgroup license which allows 5 developers through the MSDN Subscription with Team Developer Edition.  It is definitely worth the money and you get a lot more with the MSDN subscription than just VS and the Team Foundation stuff.  Highly recommend it!!!

To expand a bit, .NET is designed in to implement much more stringent security environment and ties in to the OS to prevent malicious attacks using security policies.  By default, any network drive is considered a risk and will not execute any .NET assembly.  You can open up your trusts through the .NET 2.0 COnfiguration Manager found in the Control Panel->Administrative tools...however, I recommend against this.  When you have multiple developers accessing the same source files I can guarentee that you will have MAJOR issues and frustrations.  .NET is designed to work best through a source control solution.  At first, coming from VFP, I was not sure that this was a good idea....however, once we started using it it was like tasting candy for the first time Smile  It makes a tremendous difference in cleaning up and creating a standardized, secure, and safe development environment...along with faster access to the source files.

By Trent L. Taylor - 9/17/2007

Would you comment of the above issues, please? 

Sure.  This is something that we cover it some detail in class (which we should be posting or next training dates this week).  In the past there was a huge pendulum swing in the direction of web applications because it was so difficult to make Win form applications scalable and accessible remotely.  So the web was really the only avenue in which to do this.  The pendulum has been swinging back the other way with the advent of web services.  Developing a web applicaiton generally takes 7 times as long as producing a win forms application...and this is with web experience.  There are more factors to take into account such as browser limitations, post-backs, session states, etc.  So to produce an application of any size requires some serious dedication and time.  I will touch on this again in a minute.

Win forms are a more more solid environment in which to develop.  You have more control over the applicaiton, can develop forms, reports, etc much faster than on web forms.  The issue that people generally have with the win forms when creating distributed applications is determining how they will connect to data.  This is what our Enterprise Server provides.  It provides the benefits of developing in Win forms while giving the scalability of web....this technology is referred to in the industry as Smart-Client which I am sure that you are already familiar with.  Though web forms may be used with the ES as well and is especially beneficial for distributed web servers talking to a single point for data access.

There is a time and place for web applications.  Let me give you an example of how we use the web for our medical application.  Our medical application is written as a WinForms application; however, we are going to provide a web portal that allows patients to request refills for the scripts, schedule an appointment, fill out their patient information from home rather than sitting in the doctors waiting room, and review their lab results online.  This extends the application and uses the same BOs, etc that are used on the win form applications.  But this provides a nice extension to the application rather than trying to run the entire app through the web browser.

Finally, we plan to provide a SAAS model (Software as a service) for our medical software as well which allows the end-user to store their data, etc. on our servers and all they have to do is download a client install.  So they run the WinForms on their side (client-side) while all of the data resides on our servers and they get to the data using our Enterprise Server (which is obviously transparent to them).

Hope this makes sense Smile

By Greg McGuffey - 9/19/2007

I'll chime in here with my recommendation for source control: Subversion.



We've been using it for a bit now and it is very good. It is also open source and free BigGrin It won't integrate as well with Visual Studio as Team Foundation, but it does all that is needed, does it well, fast and is easy to learn. I use Tortoise SVN to do most of my work (extension to windows Explorer), and also AnkhSVN (VS plug-in). Just google Subversion and you'll find it.
By StrataFrame Team - 9/20/2007

Hrm, I'm going to have to check that one out... having a Windows Explorer extension and being able to access source control from outside of VS would be nice... Thanks for the info, Greg.
By StrataFrame Team - 9/20/2007

In all reality, I think TFS only makes sense if you have a huge, distributed team, or you've got an MSDN Premium VS subscription and you only have 5 developers and can make use of the included workgroup version.  Beyond 5 developers, or if you don't have a Team System subscription (there are so many dang levels of MSDN subscription I can't keep them all straight), then finding a good SQL based solution that is cheap and fast is your best bet.
By Ivan George Borges - 9/20/2007

Greg McGuffey (09/19/2007)
I'll chime in here with my recommendation for source control: Subversion.

Hi Greg.

I had heard very good things about Subversion before and gave it a quick look. Now you mentioned it I will try and play with it more seriously.

Thanks! Wink

By Greg McGuffey - 9/20/2007

A little about how my company uses it. I work remotely (at home) and the svn server is in the main office. We use an apache server, with an ssl connection and apache authentication. It is very fast. Having previously used Visual Source Safe, there are a couple of things I really like about it. First, I like the copy-modify-merge paradigm better than the lock-modify-unlock paradigm. It's more flexible and easier to administer. Second, as compared to VSS, I really am liking branches, mainly because it is so easy to merge changes between branches. Third, it is fast. Using svn remotely is faster than using VSS was locally. Way faster.



If you are interested, the SVN book is very helpful:



http://svnbook.red-bean.com/



Also, I found this book very helpful:



Pragmatic Version Control

http://www.amazon.com/Pragmatic-Version-Control-Subversion-Starter/dp/0977616657/ref=pd_bbs_sr_1/103-1400485-3799855?ie=UTF8&s=books&qid=1190304075&sr=8-1



If any of you have any questions I'll do my best to answer them!
By Ivan George Borges - 9/20/2007

If any of you have any questions I'll do my best to answer them!

I was anxiously waiting for you to say so! BigGrin

... kidding, I will have a look at the links you provided and probably ask you latter.

Thanks Greg.

By Greg McGuffey - 9/20/2007

LOL



Anytime with any questions. No guarentee on the answers though....Blink
By Ivan George Borges - 10/19/2007

Hey Greg.

It is time. Smile

I have TortoiseSVN installed and everything went really fine during tests. I am also using VisualSVN integrated into Visual Studio. But then I created a Repository on one server and added an application to it, which has lots of files in many folders. Now, if I try to perform a SVN Checkout in another machine, it takes like forever. The same if I use the TortoiseSVN Repo-browser (if you are familiar to it). It takes almost 5 minutes just to list the Repository content.

Have you faced anything like this?

By Greg McGuffey - 10/19/2007

It is time. Smile




About time! Tongue



I am also using VisualSVN integrated into Visual Studio.




I'm using AnhkSVN for VS integeration. I haven't used VisualSVN...how is it?



Have you faced anything like this?




Hmmm....nope I haven't. Initially, I used a server that was on local network and not surprisingly, it was blazing fast. Several months ago, I moved the server (with the repositories) to a server (beefed up work station really) that is remote, connecting to it with TCP. It is still blazing fast.



I'm using the apache server with authentication/encryption. I have about 3mb download speed with 512kb upload speed. The server has a big pipe, something like 10mb up/down.



I just did a speed test with my setup. I checked out my entire repository, which included the trunk and two branches through TortoiseSVN. Here are the results:



~42MB transfered

7900 Files

3:45 time to check out



Typically, I'd only checkout a single branch or the trunk, so it would only take a bit over a minute. Doing updates and commits usually takes seconds....about enough time to take a sip of my beverage of choice Cool



Using the repo browser is fast, usually about a second to expand a any part of the tree.



So, my first guess would be that you have either a poor connection (maybe try drying out the string... Blink )or maybe you're using the SVN server and it isn't as robust for remote connections. Or maybe something is hosed....Sick



What is you setup?
By Ivan George Borges - 10/19/2007

I'm using AnhkSVN for VS integeration. I haven't used VisualSVN...how is it?

Well, what I have tried looks nice. It shows a red, yellow or green dot besides everything telling you the current state of all files. You can right-click and choose whatever SVN action you would like to take. I hadn't heard of AnhSVN yet, but I would guess they are very similar.


Typically, I'd only checkout a single branch or the trunk, so it would only take a bit over a minute. Doing updates and commits usually takes seconds....about enough time to take a sip of my beverage of choice Cool

Let's put it this way, if I did the same with the speeds I'm getting here, I would have a serious drinking problem by now... BigGrin

What is you setup?

I have installed Apache 2.2 to see if I could get it running with SVN on the server, but haven't been able to make them talk to each other properly up to now. Keep getting 301 errors everytime I try to Repro-browse the repository. One strange thing I have noticed browsing all these open source forums everywhere is that nobody ever gets t a solution post to any problem... or maybe I was just unlucky.

So, I'm still on a local environment, just trying to reach the server as a mapped driver. After what you've said, I'm sure I have done something wrong over here. If I create a new application it works as lightning. But once I try to add my existing app to the repository (and it does it fast), I can't seem to check it out in any other machine with at least a normal speed, and repo-browsing takes ages.

Just to let you know, I am going to try SourceVault as well. This one uses SQLServer as repository and sounds really good. Will let you know of my progress.

Thanks a lot Greg!!!  And how have you been?