Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 需要在Visual Studio 2008项目中创建文件引用的帮助吗_Visual Studio 2008_Svn - Fatal编程技术网

Visual studio 2008 需要在Visual Studio 2008项目中创建文件引用的帮助吗

Visual studio 2008 需要在Visual Studio 2008项目中创建文件引用的帮助吗,visual-studio-2008,svn,Visual Studio 2008,Svn,如果我没记错的话,在过去的Visual Studio版本(6,2003,2005)中,如果将现有文件添加到项目/解决方案中,该文件将保留在原来的位置,而不是复制到当前解决方案中。无论如何,这是我在VS2008中需要的 例如,出于第三方DLL的原因,我有两个项目需要链接到不同的DLL,但我希望包装器和我的更高级别API保持相同 假设我从ProjectA开始,它有wrapper.cs和api.cs文件。wrapper.cs链接到c1.dll和c2.dll。由于我无法控制的原因,我现在需要一个Proj

如果我没记错的话,在过去的Visual Studio版本(6,2003,2005)中,如果将现有文件添加到项目/解决方案中,该文件将保留在原来的位置,而不是复制到当前解决方案中。无论如何,这是我在VS2008中需要的

例如,出于第三方DLL的原因,我有两个项目需要链接到不同的DLL,但我希望包装器和我的更高级别API保持相同

假设我从ProjectA开始,它有wrapper.cs和api.cs文件。wrapper.cs链接到c1.dll和c2.dll。由于我无法控制的原因,我现在需要一个ProjectB,它使用wrapper.cs和api.cs,但链接到c3.dll和c4.dll

理想情况下,我只需要在VS2008中创建ProjectB,然后在ProjectA文件夹中使用“添加现有项”到引用wrapper.cs和api.cs。但当我这样做时,它会执行文件复制,现在我需要跟踪源文件之间的更改,并根据需要进行合并

可能的解决方案,我可以真正使用执行建议: 1.也许有一个SVN技巧,我可以用来使这项工作?我想不出一个,但如果我能让ProjectB项目中的文件链接到ProjectA文件,我会很高兴。
2.在VS2008中找到与“添加文件引用”类似的正确选项。我浏览了该项目的上下文相关菜单,没有找到任何有效的选项。

您尝试过添加为链接选项吗?当您打开“添加现有项菜单…”时,找到您的文件,选择它并选择“添加”按钮旁边的箭头并选择“添加为链接”。

您可以编辑.csproj文件以引用原始文件,但我认为它还是这样做了-在记事本中查看它,您将看到大量。。。。。。相对目录路径


有一个SVN技巧你可以使用,你可以使用externals签出原始文件,你可以将这些文件放到你喜欢的任何目录,但它不能签出到包含现有文件的目录-它会先清除IIRC中的内容。

我对你的问题没有直接的答案,但在这种情况下,听起来正确的解决方案是隔离wrapper.cs和api.cs的功能,提供动态加载它们的依赖项的功能,并将它们打包为每个项目都可以使用的独立类库。

VS2008实际上会制作一个文件副本。只需立即尝试“添加现有文件”,您就会看到您的项目现在将具有您指定的文件的副本。谢谢SVN的提示--我必须研究“外部”。我认为这会是一个问题的原因是因为你所说的——你不能在非空目录中签出。为什么他们会把这三个选项放在一个滴状列表中?“添加”应为默认值。“显示以前的版本”甚至不属于该列表。“添加为链接”应该是一个复选框,这样就很清楚了。当“添加”列在列表的第一位时,很容易错过。小姐,放下滴滴列表,只要有一个复选框!!!好的,结束。:)谢谢你向我指出这一点!我想这正是我想要的,但在过去的两年里,我从未注意到。仅供参考——效果非常好。我刚做了一个测试,它顺利地进行了。:)再次感谢。