保持networking驱动器上的Visual Studio项目
我们只是从本地存储所有文件到networking驱动器。 问题是,我的VS项目现在也存储在那里。 (目前还没有版本pipe理系统,在这方面工作。)我知道过去我听说过这样做的问题,但从来没有听说过解决方法。 有工作吗?
所以我的VS被安装在本地。 这些文件在networking驱动器上。 我怎样才能使这个工作?
编辑:我知道该怎么做,但是有一个我现在可以解决这个问题,并维护networking驱动器的创可贴吗?
编辑2:我相信我不理解的东西,但鲍勃金有正确的想法。 当他回到办公室时,我会和主要的网页开发人员一起工作,找出临时解决scheme,直到我们得到某种版本控制设置。 感谢您的想法。
虽然我们使用源代码pipe理,但我们也从networking驱动器运行所有项目(不是共享目录,networking驱动器上的专用目录)。 networking驱动器每晚备份,并使用卷影复制,所以如果你需要恢复到某种东西之前 ,它是SC的方式,那么你可以。
要使项目以正确的权限正确运行,请按照下列步骤操作 。
基本上,您只需将共享目录映射到驱动器,然后将基于该Url的权限授予所有代码。 假设你映射到“N:\”,然后使用“N:\ *”作为你的Url模式。 你不需要通配符,但是你确实需要。
这个问题是相当通用的,所以我会回答一个我正面临的问题。
我在Mac上使用Parallels虚拟机运行Visual Studio 2010,同时通过networking共享将所有项目保留在Mac端。 但Visual Studio不会从那里加载项目组件文件。 试图单独使用“caspol”来设置权利对我来说没有帮助。
什么终于工作让我Visual Studio加载程序集从networking共享是编辑文件“C:\ Program Files文件(x86)\微软Visual Studio 10.0 \ Common7 \ IDE \ devenv.exe.config”(假设一个默认安装)。
在xml“<runtime>”部分中,您必须添加
<loadFromRemoteSources enabled="true"/>
您可能必须更改该文件的权限以允许写入权限。 保存文件。 重新启动Visual Studio。
为了实际回答这个问题,我从jcarle.com复制了这个评论:
使用Visual Studio 2010 / .NET Framework v4.0信任networking共享
2011年1月20日,下午4点10分如果你像我一样,你把所有的代码存储在服务器上,你可能会学习使用CasPol.exe来信任networking共享。 但是,从Visual Studio 2008(.NET Framework 2.0 / 3.0 / 3.5)转移到Visual Studio 2010(.NET Framework 4.0)时,您可能会发现自己在挠头。
如果您习惯使用Visual Studio命令提示符快速访问CasPol,则可能会发现您的一些项目似乎并不尊重您的新FullTrust设置。 原因是,除非您仔细关注,否则Visual Studio命令提示符默认将.NET Framework 4.0文件夹添加到其path。 如果您的项目仍在.NET Framework 2.0 / 3.0 / 3.5下运行,则还需要为这些版本设置CasPol。 只是说明一下,我个人也有更多的成功使用1作为代码组而不是1.2。
要相信所有版本的.NET Framework的networking共享,只需使用以下完整path为每个版本调用CasPol:
C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CasPol -m -ag 1 -url file:// YourSharePath * FullTrust
C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ CasPol -m -ag 1 -url file:// YourSharePath * FullTrust
如果你有(甚至没有)多个正在从事项目工作的人,我不会推荐你这样做。 你只是在问问题。
如果你是唯一处理这个问题的人,那么你将避免很多麻烦。 不过,性能即将到来。 至于如何让它工作,你只需从VS打开解决scheme文件。 您可能会遇到安全问题,但可以纠正使用CASPOL。 正如我所说,虽然performance将是可怕的。 再次,不build议。
让自己和你的团队一个忙,并安装SVN或其他forms的源代码pipe理,并把代码放在那里。
编辑:我会部分撤回我的意见。 鲍勃金解释下面的原因,他们从networking驱动器运行VS项目,这是有道理的。 我会说,除非你像Bob这样的特定原因去做,否则远离它。 否则,在build立这样一个开发环境之前,先把你的鸭子连起来。
我知道这是一个较旧的线程,但这是我在寻找解决类似问题时发现的最佳线索,我在虚拟框(使用Win 8.1)以及主机上的代码(Win 7)上安装了Visual Studio 2013。 虽然我可以打开解决scheme,但我无法编译。 所有其他的答案都与较旧的软件有关,所以我添加了这个答案来更新这个经常遇到的解决scheme。
这是我做的。 使registry项能够使用UNCpath作为当前目录。
警告:不正确地使用registry编辑器可能会导致严重的系统问题,可能需要您重新安装Windows NT才能更正它们。 Microsoft不能保证使用registry编辑器导致的任何问题都可以解决。 使用此工具需要您自担风险。
在registrypath下:HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor
添加值DisableUNCCheck REG_DWORD并将值设置为0 x 1(hex)。
警告:如果启用此function并启动具有UNC名称的当前目录的控制台,请从该控制台启动应用程序,然后closures控制台,这可能会导致从该控制台启动的应用程序出现问题。
在链接中find此信息: http : //support.microsoft.com/kb/156276
我们如何将这个变成一个每个人都可以回答的问题呢? 我和最初的海报有完全相同的问题。
我有一个VB 2008的副本(最近从VB6升级)。 如果我将我的解决scheme存储在备份的networking驱动器上,那么它将不会运行一件事情。 即使在程序集中设置了“allowpartiallytrustedcallers”,它也会为访问模块提供“部分信任的调用者”错误。 如果我将文件存储在我的(不备份的)C:上,那么它将运行得非常好,直到我把它放在共享驱动器上供所有人使用,我又回到了同样的问题。
这不是一个大的要求。 我只是希望能够在共享驱动器上放置一个解决scheme和可执行文件,并运行它,而不会有荒谬的安全漏洞。 我不应该把所有的工作都塞进表单文件中。
编辑:我发现它为什么忽略了AllowPartialllyTrustedCallers命令的问题。 我试图引用ADODB,它不允许部分信任。 那么,没有networking可执行文件可以访问数据库? 微软对内联网有什么作用?
不要这样做。 如果你有源代码控制(版本控制),你不需要在networking驱动器上的文件。 它完全绕过了所有你想通过使用源代码控制实现,因为一旦你的文件在networking驱动器上,任何人都可以修改它们,甚至当你正在build立你的项目。 嘉boooom!
PS:这听起来像是一个典型的过度工程案例。
你有什么具体问题吗?
如果您允许多个人打开解决scheme,您的第一个问题将是.NCB文件(智能感知)将被locking,并且只有一个用户将能够浏览类树。 当然,您可能会有一个用户的更改覆盖其他用户的更改。
所以我有一个类似的问题。 Visual Studio将无法识别我已映射为任何驱动器号的networking位置。 有趣的是,它工作了一天。 我build立了自己的项目并开始研究,没有任何问题。 然后,我关机,第二天没有任何工作。 我无法读取/写入代码中的文件,输出我的可执行文件或任何东西。 我的项目是本地的,但我的输出是打算在networking上抛出。
无论如何,这个问题可能是关于pipe理员的上下文,但解决它的方法之一,我发现在网上挖掘时,是让Visual Studio浏览到问题的驱动器一些如何。 有很多方法可以做到这一点,但VS会神奇地能够识别映射的驱动器号。 我的解决scheme是去项目属性中的debugging输出位置,单击浏览并转到我的networking驱动器上的以前产生的输出位置和Voila!
我想这样做是因为我花了半天的时间来解决这个问题,并且认为这可能会让别人省下一些时间。 非常感谢,祝你好运!
埃里克
我最近才面对同样的问题,所以这个答案更多是为了追踪我自己的知识。 无论如何,如果soumeone觉得有用,下面是问题和解决scheme。
问题:NET 4.0项目,SVN回购,签出文件夹位于本地驱动器上,引用的程序集由构build服务器构build,可在networking驱动器上使用。 W7上的Visual Studio是能够添加引用但无法构build项目的。
解决scheme:由于NET 4.0不会自动为networking组件提供沙箱,因此必须通过machine.config更新来使这些沙箱成为可信的。 http://msdn.microsoft.com/en-us/library/dd409252.aspx
在本地驱动器上工作并安装AJC Active Backup。 这样可以在每次保存时存档源代码(以及您select的任何其他types的文件)的副本,但归档较小,因为每次只保存更改。 Active Backup还内置了差异function,以查看您所做的工作,并让您回到任何编辑状态。
在这里阅读更多: AJC Active Backup
如果我正确理解你,你的Visual Studio项目文件存储在networking驱动器上,并从那里运行它们。 这是我做的,没有任何问题。 您需要确保您已经设置了安全策略。 您可以使用Caspol来执行此操作,或通过控制面板pipe理工具菜单进行操作。
您应该被警告,Visual Studio中的某些function将拒绝使用networking驱动器。
例如,SQL Express用户实例的mdf文件必须位于本地驱动器中。
又如,如果使用UNCpath,则必须确保它们足够短。
我发现这有助于尝试使用vc11与在mac上运行的相似程序: http ://social.msdn.microsoft.com/Forums/en-US/toolsforwinapps/thread/2ffdcb01-c511-4961-834b-afd5f2fbb8e1,特别是:
1)您可以从本地debugging切换到远程debugging,并将机器名称设置为“localhost”。 这将在本地机器上执行远程部署(因此不使用项目的目录)。 您不需要安装远程debugging器工具,也不需要启动msvsmon以使其在localhost上运行。
如果这有助于其他人,我必须执行此处概述的步骤将networking共享位置添加到Windows Intranet区域。 特别是,当在networking共享上打开一个解决scheme(例如,使用VMware Fusion并从我的Mac硬盘上打开一个解决scheme)时,我遇到了Visual Studio悬而未决的问题。 在这种情况下,我也遇到了运行PostSharp的问题。
“我怎样才能使这个工作?” 你有几个select:
selectA:1.将所有文件移回本地硬盘2.在您的机器上执行某种types的备份软件3.testing所述备份解决scheme4.继续编码
selectB:1.获得一个免费的源代码pipe理产品的副本,并实施它。 2.确保它已经备份3.testing它
选项C:使用可用的许多ONLINE源代码控制存储库之一。 Google,SourceForge,CodePlex等等。
那么,我的问题是你为什么这样问。 当您将其存储在networking驱动器上时,它不工作吗? 我自己并没有尝试过,我能想象的一个问题是,从networking驱动器运行的.NET代码(即,位于networking驱动器上的bin \ Debug目录)将以沙箱模式运行,除非你用CASPOL(或者使用3.5 SP1,我听说已经移除了这个障碍)。
如果你有特定的问题,询问他们。 永远不要问“为什么X不能正常工作?”。
你不是说如果你只是一个人或多人访问同一个远程驱动器,但我假设你只是一个networking目录。 它是否正确? 如果没有,不,没有创可贴。 获取版本控制,将文件移回本地磁盘。