Visual Studio构建-路径中的逗号出现问题

时间:2019-06-21 15:05:37

标签: c# asp.net visual-studio build

我有一些外部项目库,正在将它们引入ASP.NET应用程序中。所有项目都存储在TFS中,并在本地存储在相对目录中,例如:“ C:\ Users \ Admin \ OneDrive-公司名称,LLC \ Projects \ Workspaces \ .. \ ..”。在过去的一年中,我一直在使用相同的结构。但是,突然之间,我在编译该项目时遇到了问题,其中VS在外部项目路径之一上做了一些奇怪的事情。我将看到这些不同的错误,如下所示:

  1. “ C:\ Users \ Admin \ OneDrive-公司名称”或其中之一 依赖项,未找到。

  2. 'LLC \ Projects \ Workspaces \ Project1 \ Project1 \ bin \ Debug \ Project1.dll', 或其依赖项之一未找到。

如您所见,由于任何原因,Visual Studio都会在逗号上分割路径,这使所有这些混乱。我发现这篇CodeProject帖子解释了我所遇到的确切问题,但是他的“解决方案”在TFS环境中不是可行的解决方案。

我感到困惑的主要问题是这些错误直到上周才开始出现。我刚刚从TFS中获取了最新的资源,然后就崩溃了。显然,这表明该lib的引用方式有所不同,但是没有任何变化。通过以下方式引用了它:

<Reference Include="Project1">
    <HintPath>..\..\Project1\Project1\bin\Debug\Project1.dll</HintPath>
</Reference>

我还尝试将其添加为项目引用,因为它应该是:

<ProjectReference Include="..\..\Project1\Project1\Project1.csproj">
    <Project>{50063d52-d6f3-46dd-b001-778222ef5864}</Project>
    <Name>ArcadiumLeadCommon</Name>
</ProjectReference>

其他注意事项。现在使用VS 2019大约一个月,之前使用VS2017。尝试过VS 2017,但是它也失败了。通过msbuild和devenv的cmd提示符,构建似乎也以相同的方式失败。

一种解决方案是找到一种方法来重命名我的一个驱动器文件夹名称以排除逗号,但是,即使我找到了一种方法,也可能破坏更多的东西。理想情况下,我只是想像以前一样使其工作。文件夹结构与以前完全相同,因此应该有一种方法。

我明显缺少什么吗?


更新: 找出了一个快速而又肮脏的“ hack”,它不会破坏其他快捷方式和固定的文档链接。使用“ mklink” cmd在onedrive和其他文件夹位置之间创建连接点。例如:

mklink /J "C:\OneDrive\" "C:\Users\Admin\OneDrive - Company Name, LLC\"

之后,项目成功构建。仍然希望它像以前一样工作,但是暂时这是可以接受的解决方法。希望这也会对其他人有所帮助。

0 个答案:

没有答案