gpt4 book ai didi

c# - 我如何获得 Visual Studio 解决方案来构建 MVC 项目并将其运行到另一个文件夹?

转载 作者:太空宇宙 更新时间:2023-11-03 13:59:16 27 4
gpt4 key购买 nike

首先,如果我遗漏了一些明显的东西,但我似乎无法在任何地方找到答案,我深表歉意!

我有一个解决方案,其中包含许多包含支持类和 Controller 等的类库项目以及一个包含 View 的 MVC 项目。

我想要的是能够将这组项目构建到另一个位置(即 c:\build)并能够从该构建位置运行 VS 调试。这样一来,dll 和 pdb 文件就不会不断更新和 checkin 源代码管理,而是默认情况下简单地构建到用户 PC 上的另一个位置。

我所做的是更改 csproj xml 文件以在其中包含以下条目。

<BaseOutputPath>c:\build\$(AssemblyName)\$(Configuration)\</BaseOutputPath>
<OutputPath>$(BaseOutputPath)\bin\</OutputPath>
<BaseIntermediateOutputPath>$(BaseOutputPath)\obj\</BaseIntermediateOutputPath>

现在这对于类库项目和由 MVC 项目本身创建的 dll 来说非常有效。 VS 创建相关文件夹并将正确的 dll 文件构建到其中,包括将任何依赖项目 dll 构建到此文件夹结构中。

然而,在 MVC 项目中似乎也发生了什么,它似乎仍然将依赖的 dll 构建到项目的\bin 文件夹中(但不在那里构建自身)。似乎当您运行该项目时,它会尝试从该项目的这个\bin 文件夹中的代码运行,但由于它找不到 MVC 项目的 dll,因此失败了。

有没有办法阻止 VS 将依赖的 DLL 文件构建到\bin 文件夹中,并告诉它查看构建的 DLL 的构建位置?

我在 MSDN 网站上查看了有关 proj 文件的内容,并提出了许多不同的解决方案,但没有一个有效。

如有任何帮助,我们将不胜感激。

最佳答案

希望此行为依赖于 MSBuild 而不是 VSBuild,因为这两个构建过程不同。如果幸运的话,这与 MSBuild 遵循相同的行为,我会遵循 MSBuild 调试过程:

与 MSBuild 中的任何神奇行为一样,在您的 .CSProj 文件中查找任何 import target= 代码并找到这些文件。遵循这些步骤将引导您进入做出任何决定的部分。

您可以将 VS 的调试器附加到您的构建过程 - http://blogs.msdn.com/b/visualstudio/archive/2010/07/06/debugging-msbuild-script-with-visual-studio.aspx + http://blogs.msdn.com/b/visualstudio/archive/2010/07/09/debugging-msbuild-script-with-visual-studio-2.aspx

此外,您可以暂时提高构建的详细程度 http://blogs.msdn.com/b/msbuild/archive/2005/09/29/475157.aspx

关于c# - 我如何获得 Visual Studio 解决方案来构建 MVC 项目并将其运行到另一个文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11101302/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com