Skip to content

Commit 79f9d93

Browse files
authored
Workaround to fix VS build hang in certain scenarios (#164)
* Workaround to fix VS build hang in certain scenarios
1 parent 9ae2c60 commit 79f9d93

File tree

10 files changed

+162
-82
lines changed

10 files changed

+162
-82
lines changed

Extensions/AzureTableAPI/Cosmos.DataTransfer.AzureTableAPIExtension/Cosmos.DataTransfer.AzureTableAPIExtension.csproj

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,16 @@
1818
<ProjectReference Include="..\..\..\Interfaces\Cosmos.DataTransfer.Interfaces\Cosmos.DataTransfer.Interfaces.csproj" />
1919
</ItemGroup>
2020

21-
<Target Name="PublishToExtensionsFolder" AfterTargets="Build" Condition=" '$(Configuration)' == 'Debug' ">
22-
<Exec Command="dotnet publish --configuration $(Configuration) --no-build -p:PublishProfile=PublishToExtensionsFolder" />
21+
<Target Name="PublishToExtensionsFolder"
22+
AfterTargets="Build"
23+
Condition=" '$(Configuration)' == 'Debug' AND '$(PublishingToExtensionsFolder)' != 'true' ">
24+
<MSBuild
25+
Projects="$(MSBuildProjectFile)"
26+
Targets="Publish"
27+
Properties="Configuration=$(Configuration);
28+
PublishProfile=PublishToExtensionsFolder;
29+
BuildProjectReferences=false;
30+
PublishingToExtensionsFolder=true" />
2331
</Target>
2432

2533
</Project>
Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<PropertyGroup>
4-
<TargetFramework>net8.0</TargetFramework>
5-
<ImplicitUsings>enable</ImplicitUsings>
6-
<Nullable>enable</Nullable>
7-
<OutputType>Exe</OutputType>
8-
</PropertyGroup>
3+
<PropertyGroup>
4+
<TargetFramework>net8.0</TargetFramework>
5+
<ImplicitUsings>enable</ImplicitUsings>
6+
<Nullable>enable</Nullable>
7+
<OutputType>Exe</OutputType>
8+
</PropertyGroup>
99

1010
<ItemGroup>
1111
<PackageReference Include="Azure.Search.Documents" />
@@ -20,8 +20,16 @@
2020
<ProjectReference Include="..\..\..\Interfaces\Cosmos.DataTransfer.Interfaces\Cosmos.DataTransfer.Interfaces.csproj" />
2121
</ItemGroup>
2222

23-
<Target Name="PublishToExtensionsFolder" AfterTargets="Build" Condition=" '$(Configuration)' == 'Debug' ">
24-
<Exec Command="dotnet publish --configuration $(Configuration) --no-build -p:PublishProfile=PublishToExtensionsFolder" />
23+
<Target Name="PublishToExtensionsFolder"
24+
AfterTargets="Build"
25+
Condition=" '$(Configuration)' == 'Debug' AND '$(PublishingToExtensionsFolder)' != 'true' ">
26+
<MSBuild
27+
Projects="$(MSBuildProjectFile)"
28+
Targets="Publish"
29+
Properties="Configuration=$(Configuration);
30+
PublishProfile=PublishToExtensionsFolder;
31+
BuildProjectReferences=false;
32+
PublishingToExtensionsFolder=true" />
2533
</Target>
2634

2735
</Project>

Extensions/Cosmos/Cosmos.DataTransfer.CosmosExtension/Cosmos.DataTransfer.CosmosExtension.csproj

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,15 @@
2727
<ProjectReference Include="..\..\..\Interfaces\Cosmos.DataTransfer.Interfaces\Cosmos.DataTransfer.Interfaces.csproj" />
2828
</ItemGroup>
2929

30-
<Target Name="PublishToExtensionsFolder" AfterTargets="Build" Condition=" '$(Configuration)' == 'Debug' ">
31-
<Exec Command="dotnet publish --configuration $(Configuration) --no-build -p:PublishProfile=PublishToExtensionsFolder" />
30+
<Target Name="PublishToExtensionsFolder"
31+
AfterTargets="Build"
32+
Condition=" '$(Configuration)' == 'Debug' AND '$(PublishingToExtensionsFolder)' != 'true' ">
33+
<MSBuild
34+
Projects="$(MSBuildProjectFile)"
35+
Targets="Publish"
36+
Properties="Configuration=$(Configuration);
37+
PublishProfile=PublishToExtensionsFolder;
38+
BuildProjectReferences=false;
39+
PublishingToExtensionsFolder=true" />
3240
</Target>
3341
</Project>
Lines changed: 29 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,34 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<PropertyGroup>
4-
<TargetFramework>net8.0</TargetFramework>
5-
<ImplicitUsings>enable</ImplicitUsings>
6-
<Nullable>enable</Nullable>
7-
</PropertyGroup>
3+
<PropertyGroup>
4+
<TargetFramework>net8.0</TargetFramework>
5+
<ImplicitUsings>enable</ImplicitUsings>
6+
<Nullable>enable</Nullable>
7+
</PropertyGroup>
88

9-
<ItemGroup>
10-
<PackageReference Include="CsvHelper" />
11-
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" />
12-
<PackageReference Include="System.ComponentModel.Composition" />
13-
<PackageReference Include="System.Text.Json" />
14-
</ItemGroup>
9+
<ItemGroup>
10+
<PackageReference Include="CsvHelper" />
11+
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" />
12+
<PackageReference Include="System.ComponentModel.Composition" />
13+
<PackageReference Include="System.Text.Json" />
14+
</ItemGroup>
1515

16-
<ItemGroup>
17-
<ProjectReference Include="..\..\..\Interfaces\Cosmos.DataTransfer.Common\Cosmos.DataTransfer.Common.csproj" />
18-
<ProjectReference Include="..\..\..\Interfaces\Cosmos.DataTransfer.Interfaces\Cosmos.DataTransfer.Interfaces.csproj" />
19-
<ProjectReference Include="..\..\AwsS3\Cosmos.DataTransfer.AwsS3Storage\Cosmos.DataTransfer.AwsS3Storage.csproj" />
20-
<ProjectReference Include="..\..\AzureBlob\Cosmos.DataTransfer.AzureBlobStorage\Cosmos.DataTransfer.AzureBlobStorage.csproj" />
21-
</ItemGroup>
16+
<ItemGroup>
17+
<ProjectReference Include="..\..\..\Interfaces\Cosmos.DataTransfer.Common\Cosmos.DataTransfer.Common.csproj" />
18+
<ProjectReference Include="..\..\..\Interfaces\Cosmos.DataTransfer.Interfaces\Cosmos.DataTransfer.Interfaces.csproj" />
19+
<ProjectReference Include="..\..\AwsS3\Cosmos.DataTransfer.AwsS3Storage\Cosmos.DataTransfer.AwsS3Storage.csproj" />
20+
<ProjectReference Include="..\..\AzureBlob\Cosmos.DataTransfer.AzureBlobStorage\Cosmos.DataTransfer.AzureBlobStorage.csproj" />
21+
</ItemGroup>
2222

23-
<Target Name="PublishToExtensionsFolder" AfterTargets="Build" Condition=" '$(Configuration)' == 'Debug' ">
24-
<Exec Command="dotnet publish --configuration $(Configuration) --no-build -p:PublishProfile=PublishToExtensionsFolder" />
25-
</Target>
23+
<Target Name="PublishToExtensionsFolder"
24+
AfterTargets="Build"
25+
Condition=" '$(Configuration)' == 'Debug' AND '$(PublishingToExtensionsFolder)' != 'true' ">
26+
<MSBuild
27+
Projects="$(MSBuildProjectFile)"
28+
Targets="Publish"
29+
Properties="Configuration=$(Configuration);
30+
PublishProfile=PublishToExtensionsFolder;
31+
BuildProjectReferences=false;
32+
PublishingToExtensionsFolder=true" />
33+
</Target>
2634
</Project>

Extensions/Json/Cosmos.DataTransfer.JsonExtension/Cosmos.DataTransfer.JsonExtension.csproj

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,16 @@
2121
<ProjectReference Include="..\..\..\Interfaces\Cosmos.DataTransfer.Interfaces\Cosmos.DataTransfer.Interfaces.csproj" />
2222
</ItemGroup>
2323

24-
<Target Name="PublishToExtensionsFolder" AfterTargets="Build" Condition=" '$(Configuration)' == 'Debug' ">
25-
<Exec Command="dotnet publish --configuration $(Configuration) --no-build -p:PublishProfile=PublishToExtensionsFolder" />
24+
<Target Name="PublishToExtensionsFolder"
25+
AfterTargets="Build"
26+
Condition=" '$(Configuration)' == 'Debug' AND '$(PublishingToExtensionsFolder)' != 'true' ">
27+
<MSBuild
28+
Projects="$(MSBuildProjectFile)"
29+
Targets="Publish"
30+
Properties="Configuration=$(Configuration);
31+
PublishProfile=PublishToExtensionsFolder;
32+
BuildProjectReferences=false;
33+
PublishingToExtensionsFolder=true" />
2634
</Target>
2735

2836
</Project>

Extensions/Mongo/Cosmos.DataTransfer.MongoExtension/Cosmos.DataTransfer.MongoExtension.csproj

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,16 @@
1717
<ProjectReference Include="..\..\..\Interfaces\Cosmos.DataTransfer.Interfaces\Cosmos.DataTransfer.Interfaces.csproj" />
1818
</ItemGroup>
1919

20-
<Target Name="PublishToExtensionsFolder" AfterTargets="Build" Condition=" '$(Configuration)' == 'Debug' ">
21-
<Exec Command="dotnet publish --configuration $(Configuration) --no-build -p:PublishProfile=PublishToExtensionsFolder" />
20+
<Target Name="PublishToExtensionsFolder"
21+
AfterTargets="Build"
22+
Condition=" '$(Configuration)' == 'Debug' AND '$(PublishingToExtensionsFolder)' != 'true' ">
23+
<MSBuild
24+
Projects="$(MSBuildProjectFile)"
25+
Targets="Publish"
26+
Properties="Configuration=$(Configuration);
27+
PublishProfile=PublishToExtensionsFolder;
28+
BuildProjectReferences=false;
29+
PublishingToExtensionsFolder=true" />
2230
</Target>
2331

2432
</Project>

Extensions/Mongo/Cosmos.DataTransfer.MongoVectorExtension/Cosmos.DataTransfer.MongoVectorExtension.csproj

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,16 @@
2020
<ProjectReference Include="..\Cosmos.DataTransfer.MongoExtension\Cosmos.DataTransfer.MongoExtension.csproj" />
2121
</ItemGroup>
2222

23-
<Target Name="PublishToExtensionsFolder" AfterTargets="Build" Condition=" '$(Configuration)' == 'Debug' ">
24-
<Exec Command="dotnet publish --configuration $(Configuration) --no-build -p:PublishProfile=PublishToExtensionsFolder" />
23+
<Target Name="PublishToExtensionsFolder"
24+
AfterTargets="Build"
25+
Condition=" '$(Configuration)' == 'Debug' AND '$(PublishingToExtensionsFolder)' != 'true' ">
26+
<MSBuild
27+
Projects="$(MSBuildProjectFile)"
28+
Targets="Publish"
29+
Properties="Configuration=$(Configuration);
30+
PublishProfile=PublishToExtensionsFolder;
31+
BuildProjectReferences=false;
32+
PublishingToExtensionsFolder=true" />
2533
</Target>
2634

2735
</Project>
Lines changed: 30 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,33 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<PropertyGroup>
4-
<OutputType>Exe</OutputType>
5-
<TargetFramework>net8.0</TargetFramework>
6-
<ImplicitUsings>enable</ImplicitUsings>
7-
<Nullable>enable</Nullable>
8-
</PropertyGroup>
9-
<Target Name="PublishToExtensionsFolder" AfterTargets="Build" Condition=" '$(Configuration)' == 'Debug' ">
10-
<Exec Command="dotnet publish --configuration $(Configuration) --no-build -p:PublishProfile=FolderProfile" />
11-
</Target>
12-
<ItemGroup>
13-
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" />
14-
<PackageReference Include="Parquet.Net" />
15-
<PackageReference Include="System.ComponentModel.Composition" />
16-
<PackageReference Include="System.Text.Json" />
17-
</ItemGroup>
18-
<ItemGroup>
19-
<ProjectReference Include="..\..\..\Extensions\AwsS3\Cosmos.DataTransfer.AwsS3Storage\Cosmos.DataTransfer.AwsS3Storage.csproj" />
20-
<ProjectReference Include="..\..\..\Extensions\AzureBlob\Cosmos.DataTransfer.AzureBlobStorage\Cosmos.DataTransfer.AzureBlobStorage.csproj" />
21-
<ProjectReference Include="..\..\..\Interfaces\Cosmos.DataTransfer.Common\Cosmos.DataTransfer.Common.csproj" />
22-
<ProjectReference Include="..\..\..\Interfaces\Cosmos.DataTransfer.Interfaces\Cosmos.DataTransfer.Interfaces.csproj" />
23-
</ItemGroup>
3+
<PropertyGroup>
4+
<OutputType>Exe</OutputType>
5+
<TargetFramework>net8.0</TargetFramework>
6+
<ImplicitUsings>enable</ImplicitUsings>
7+
<Nullable>enable</Nullable>
8+
</PropertyGroup>
9+
<ItemGroup>
10+
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" />
11+
<PackageReference Include="Parquet.Net" />
12+
<PackageReference Include="System.ComponentModel.Composition" />
13+
<PackageReference Include="System.Text.Json" />
14+
</ItemGroup>
15+
<ItemGroup>
16+
<ProjectReference Include="..\..\..\Extensions\AwsS3\Cosmos.DataTransfer.AwsS3Storage\Cosmos.DataTransfer.AwsS3Storage.csproj" />
17+
<ProjectReference Include="..\..\..\Extensions\AzureBlob\Cosmos.DataTransfer.AzureBlobStorage\Cosmos.DataTransfer.AzureBlobStorage.csproj" />
18+
<ProjectReference Include="..\..\..\Interfaces\Cosmos.DataTransfer.Common\Cosmos.DataTransfer.Common.csproj" />
19+
<ProjectReference Include="..\..\..\Interfaces\Cosmos.DataTransfer.Interfaces\Cosmos.DataTransfer.Interfaces.csproj" />
20+
</ItemGroup>
2421

22+
<Target Name="PublishToExtensionsFolder"
23+
AfterTargets="Build"
24+
Condition=" '$(Configuration)' == 'Debug' AND '$(PublishingToExtensionsFolder)' != 'true' ">
25+
<MSBuild
26+
Projects="$(MSBuildProjectFile)"
27+
Targets="Publish"
28+
Properties="Configuration=$(Configuration);
29+
PublishProfile=PublishToExtensionsFolder;
30+
BuildProjectReferences=false;
31+
PublishingToExtensionsFolder=true" />
32+
</Target>
2533
</Project>
Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,31 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<PropertyGroup>
4-
<OutputType>Exe</OutputType>
5-
<TargetFramework>net8.0</TargetFramework>
6-
<ImplicitUsings>enable</ImplicitUsings>
7-
<Nullable>enable</Nullable>
8-
</PropertyGroup>
3+
<PropertyGroup>
4+
<OutputType>Exe</OutputType>
5+
<TargetFramework>net8.0</TargetFramework>
6+
<ImplicitUsings>enable</ImplicitUsings>
7+
<Nullable>enable</Nullable>
8+
</PropertyGroup>
99

10-
<ItemGroup>
11-
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" />
12-
<PackageReference Include="Npgsql" />
13-
<PackageReference Include="System.ComponentModel.Composition" />
14-
<PackageReference Include="System.Text.Json" />
15-
</ItemGroup>
10+
<ItemGroup>
11+
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" />
12+
<PackageReference Include="Npgsql" />
13+
<PackageReference Include="System.ComponentModel.Composition" />
14+
<PackageReference Include="System.Text.Json" />
15+
</ItemGroup>
1616

17-
<ItemGroup>
18-
<ProjectReference Include="..\..\Interfaces\Cosmos.DataTransfer.Interfaces\Cosmos.DataTransfer.Interfaces.csproj" />
19-
</ItemGroup>
20-
<Target Name="PublishToExtensionsFolder" AfterTargets="Build" Condition=" '$(Configuration)' == 'Debug' ">
21-
<Exec Command="dotnet publish --configuration $(Configuration) --no-build -p:PublishProfile=FolderProfile" />
22-
</Target>
17+
<ItemGroup>
18+
<ProjectReference Include="..\..\Interfaces\Cosmos.DataTransfer.Interfaces\Cosmos.DataTransfer.Interfaces.csproj" />
19+
</ItemGroup>
20+
<Target Name="PublishToExtensionsFolder"
21+
AfterTargets="Build"
22+
Condition=" '$(Configuration)' == 'Debug' AND '$(PublishingToExtensionsFolder)' != 'true' ">
23+
<MSBuild
24+
Projects="$(MSBuildProjectFile)"
25+
Targets="Publish"
26+
Properties="Configuration=$(Configuration);
27+
PublishProfile=PublishToExtensionsFolder;
28+
BuildProjectReferences=false;
29+
PublishingToExtensionsFolder=true" />
30+
</Target>
2331
</Project>

Extensions/SqlServer/Cosmos.DataTransfer.SqlServerExtension/Cosmos.DataTransfer.SqlServerExtension.csproj

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,15 @@
2222
<ProjectReference Include="..\..\..\Interfaces\Cosmos.DataTransfer.Interfaces\Cosmos.DataTransfer.Interfaces.csproj" />
2323
</ItemGroup>
2424

25-
<Target Name="PublishToExtensionsFolder" AfterTargets="Build" Condition=" '$(Configuration)' == 'Debug' ">
26-
<Exec Command="dotnet publish --configuration $(Configuration) --no-build -p:PublishProfile=PublishToExtensionsFolder" />
25+
<Target Name="PublishToExtensionsFolder"
26+
AfterTargets="Build"
27+
Condition=" '$(Configuration)' == 'Debug' AND '$(PublishingToExtensionsFolder)' != 'true' ">
28+
<MSBuild
29+
Projects="$(MSBuildProjectFile)"
30+
Targets="Publish"
31+
Properties="Configuration=$(Configuration);
32+
PublishProfile=PublishToExtensionsFolder;
33+
BuildProjectReferences=false;
34+
PublishingToExtensionsFolder=true" />
2735
</Target>
2836
</Project>

0 commit comments

Comments
 (0)