我正在处理我添加到源代码管理(TFS)的MVC 6应用程序。 VS2015没有将" wrap" -folder添加到源控件,这很好。但是,一旦另一位开发人员获得最新的"包装文件夹丢失,VS2015无法重新创建文件夹,解决方案中引用的项目无法解决。
如果我手动将" wrap" -folder添加到源控件,那么每次添加项目时,我都需要在VS2015中手动添加一个文件夹并添加新的project.json文件。 / p>
其他人做了什么?
答案 0 :(得分:0)
我遇到了同样的问题。似乎强制VS重新创建wrap文件夹的唯一方法是删除并重新添加Projects.json文件中的引用:(
还可以通过运行“DNU wrap”命令来创建wrap文件夹。 这是我的解决方法:
我将此添加到我的.xproj项目文件中:
<Target Name="BeforeBuild">
<Message Text="RuntimeToolingDirectory: '$(RuntimeToolingDirectory)'" Importance="high" />
<Exec Command="AddReferences.cmd "$(RuntimeToolingDirectory)""/>
</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以始终拥有有效的包装文件夹,但每次构建都需要几秒钟。