MVC 6 - 无法重新创建" wrap" -folder

时间:2016-02-01 14:54:58

标签: asp.net-core-mvc

我正在处理我添加到源代码管理(TFS)的MVC 6应用程序。 VS2015没有将" wrap" -folder添加到源控件,这很好。但是,一旦另一位开发人员获得最新的"包装文件夹丢失,VS2015无法重新创建文件夹,解决方案中引用的项目无法解决。

如果我手动将" wrap" -folder添加到源控件,那么每次添加项目时,我都需要在VS2015中手动添加一个文件夹并添加新的project.json文件。 / p>

其他人做了什么?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。似乎强制VS重新创建wrap文件夹的唯一方法是删除并重新添加Projects.json文件中的引用:(

还可以通过运行“DNU wrap”命令来创建wrap文件夹。 这是我的解决方法:

我将此添加到我的.xproj项目文件中:

<Target Name="BeforeBuild">
    <Message Text="RuntimeToolingDirectory: '$(RuntimeToolingDirectory)'" Importance="high" />
    <Exec Command="AddReferences.cmd &quot;$(RuntimeToolingDirectory)&quot;"/>
</Target>

我的项目文件夹中的AddReferences.cmd文件如下所示:

echo Checking if wrap folder already exists in solution root folder ...
if not exist ..\wrap goto do
echo wrap already exists...   skipping creation
goto end

:do
echo No wrap folder found. Creating ...
call %1\bin\dnu wrap ..\MyService\MyService.csproj

:end

因此,如果wrap文件夹不存在,则将使用DNU创建。 添加或删除引用时仍需要手动更新cmd,它无法处理现有但不完整的包装文件夹。

这样我在源代码管理中不需要wrap文件夹。

猜测解决方案可以通过解析项目文件并查找引用(项目/文件)来改进,因此您无需在cmd文件中手动添加/删除。

您也可以选择无条件地运行DNU以始终拥有有效的包装文件夹,但每次构建都需要几秒钟。