Browse Source

Merge branch 'master' of github.com:icsharpcode/SharpDevelop

pull/20/merge
PeterForstmeier 15 years ago
parent
commit
73c66cef08
  1. 55
      data/templates/file/CSharp/CSharp.WcfRestService.xft
  2. 50
      data/templates/file/VB/VB.WcfRestService.xft
  3. 104
      data/templates/project/CSharp/CSharp.WcfRestServiceProject.xpt
  4. 42
      data/templates/project/CSharp/CSharp.WcfServiceProject.xpt
  5. 99
      data/templates/project/VB/VB.WcfRestServiceProject.xpt
  6. 43
      data/templates/project/VB/VB.WcfServiceProject.xpt
  7. 1
      src/AddIns/BackendBindings/Boo/BooBinding/Test/BooBinding.Tests.csproj
  8. 2
      src/AddIns/BackendBindings/Boo/BooBinding/Test/ResolverTests.cs
  9. 8
      src/AddIns/BackendBindings/VBNetBinding/Test/MockTextEditor.cs
  10. 1
      src/AddIns/BackendBindings/VBNetBinding/Test/VBNetBinding.Tests.csproj
  11. 6
      src/AddIns/BackendBindings/XamlBinding/XamlBinding.Tests/MockTextEditor.cs
  12. 2
      src/AddIns/Misc/ResourceToolkit/Test/AbstractTestProjectTestFixture.cs
  13. 5
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/VBNET-Mode.xshd
  14. 6
      src/Main/Base/Project/Src/Gui/Dialogs/ReferenceDialog/GacReferencePanel.cs
  15. 2
      src/Main/Base/Project/Src/Project/CompilableProject.cs
  16. 14
      src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs
  17. 14
      src/Main/Base/Project/Src/Project/MSBuildInternals.cs
  18. 18
      src/Main/Base/Project/Src/Services/ParserService/ParseProjectContent.cs
  19. 4
      src/Main/Base/Test/CodeConverterTests.cs
  20. 1
      src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj
  21. 2
      src/Main/Base/Test/MemberLookupHelperTests.cs
  22. 8
      src/Main/Base/Test/NRefactoryResolverTests.cs
  23. 7
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ProjectContent/ProjectContentRegistry.cs
  24. 2
      src/Main/ICSharpCode.SharpDevelop.Dom/Tests/ICSharpCode.SharpDevelop.Dom.Tests/CodeSnippetConverterTests.cs
  25. 2
      src/Main/ICSharpCode.SharpDevelop.Dom/Tests/ICSharpCode.SharpDevelop.Dom.Tests/NRefactoryAstConverterTests.cs
  26. 12
      src/Setup/Files.wxs
  27. 5
      src/Setup/Setup.wxs

55
data/templates/file/CSharp/CSharp.WcfRestService.xft

@ -0,0 +1,55 @@
<?xml version="1.0"?>
<Template
author="Eusebiu Marcu"
created="13/09/2011"
lastModified="13/09/2011"
version="1.0">
<Config
name="WCF REST Service"
icon="C#.File.NewClass"
category="C#"
subcategory="WCF"
defaultname="Service${Number}.svc"
language="C#"/>
<Description>WCF REST Service</Description>
<Files>
<File name="${FullName}">
<![CDATA[
<%@ServiceHost language="C#" Debug="true" Service="${StandardNamespace}.${ClassName}"%>
]]>
</File>
<File name="${FullName}.cs" language="C#" DependentUpon="${FullName}">
<![CDATA[${StandardHeader.C#}
using System;
using System.ServiceModel;
using System.ServiceModel.Web;
namespace ${StandardNamespace}
{
[ServiceContract]
public interface I${ClassName}
{
[OperationContract]
[WebGet(UriTemplate = "operation/{name}")]
string MyOperation(string name);
}
/// <summary>
/// Description of ${ClassName}.
/// </summary>
public class ${ClassName} : I${ClassName}
{
public string MyOperation(string name)
{
// implement the operation
return string.Format("Operation name: {0}", name);
}
}
}
]]>
</File>
</Files>
</Template>

50
data/templates/file/VB/VB.WcfRestService.xft

@ -0,0 +1,50 @@
<?xml version="1.0"?>
<Template
author="Eusebiu Marcu"
created="13/09/2011"
lastModified="01/09/2011"
version="1.0">
<Config
name="WCF REST Service"
icon="VBNet.File.NewClass"
category="VB"
subcategory="WCF"
defaultname="Service${Number}.svc"
language="VBNET"/>
<Description>WCF REST Service</Description>
<Files>
<File name="${FullName}">
<![CDATA[
<%@ServiceHost language="VB" Debug="true" Service="${StandardNamespace}.${ClassName}"%>
]]>
</File>
<File name="${FullName}.vb" language="VBNET" DependentUpon="${FullName}">
<![CDATA[${StandardHeader.VBNET}
Imports System
Imports System.ServiceModel
Imports System.ServiceModel.Web
<ServiceContract> _
Public Interface I${ClassName}
<OperationContract> _
<WebGet(UriTemplate := "operation/{name}")> _
Function MyOperation(name As String) As String
End Interface
''' <summary>
''' Description of ${ClassName}.
''' </summary>
Public Class ${ClassName}
Implements I${ClassName}
Function MyOperation(name As String) As String Implements I${ClassName}.MyOperation
' implement the operation
Return String.Format("Operation name: {0}", name)
End Sub
End Class
]]>
</File>
</Files>
</Template>

104
data/templates/project/CSharp/CSharp.WcfRestServiceProject.xpt

@ -0,0 +1,104 @@
<?xml version="1.0"?>
<Template
author="Eusebiu Marcu"
created="13/09/2011"
lastModified="13/09/2011"
version="1.0">
<!-- Template Header -->
<TemplateConfiguration>
<Name>WCF REST Service</Name>
<Category>C#</Category>
<Subcategory>WCF</Subcategory>
<Icon>C#.Project.Form</Icon>
<Description>WCF REST Service</Description>
<SupportedTargetFrameworks>v3.5</SupportedTargetFrameworks>
</TemplateConfiguration>
<!-- Actions -->
<Actions>
<Open filename="Service.svc.cs"/>
</Actions>
<Project language="C#">
<ProjectItems>
<Reference Include="System" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.ServiceModel.Web" />
</ProjectItems>
<PropertyGroup escapeValue="False">
<OutputType>Library</OutputType>
<ProjectTypeGuids>{3D9AD99F-2412-4246-B90B-4EAA41C64699};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<AppDesignerFolder>Properties</AppDesignerFolder>
</PropertyGroup>
<PropertyGroup configuration="Debug">
<OutputPath>bin\</OutputPath>
</PropertyGroup>
<PropertyGroup configuration="Release">
<OutputPath>bin\</OutputPath>
</PropertyGroup>
<Files>
<File name="Properties\AssemblyInfo.cs" src="DefaultAssemblyInfo.cs" />
<File name="Service.svc">
<![CDATA[
<%@ServiceHost language="C#" Debug="true" Service="${StandardNamespace}.Service"%>
]]>
</File>
<File name="Service.svc.cs" DependentUpon="Service.svc">
<![CDATA[${StandardHeader.C#}
using System;
using System.ServiceModel;
using System.ServiceModel.Web;
namespace ${StandardNamespace}
{
[ServiceContract]
public interface IService
{
[OperationContract]
[WebGet(UriTemplate = "operation/{name}")]
string MyOperation(string name);
}
public class Service : IService
{
public string MyOperation(string name)
{
// implement the operation
return string.Format("Operation name: {0}", name);
}
}
}
]]>
</File>
<File name="web.config">
<![CDATA[<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<service name="${StandardNamespace}.Service">
<endpoint address=""
binding="webHttpBinding"
contract="${StandardNamespace}.IService"
behaviorConfiguration="webHttp" />
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="webHttp">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
]]>
</File>
</Files>
</Project>
</Template>

42
data/templates/project/CSharp/CSharp.WcfServiceProject.xpt

@ -17,7 +17,7 @@
<!-- Actions --> <!-- Actions -->
<Actions> <Actions>
<Open filename="ServiceCalculator.svc.cs"/> <Open filename="Service.svc.cs"/>
</Actions> </Actions>
<Project language="C#"> <Project language="C#">
@ -42,12 +42,12 @@
<Files> <Files>
<File name="Properties\AssemblyInfo.cs" src="DefaultAssemblyInfo.cs" /> <File name="Properties\AssemblyInfo.cs" src="DefaultAssemblyInfo.cs" />
<File name="ServiceCalculator.svc"> <File name="Service.svc">
<![CDATA[ <![CDATA[
<%@ServiceHost language="C#" Debug="true" Service="${StandardNamespace}.ServiceCalculator"%> <%@ServiceHost language="C#" Debug="true" Service="${StandardNamespace}.Service"%>
]]> ]]>
</File> </File>
<File name="ServiceCalculator.svc.cs" DependentUpon="ServiceCalculator.svc"> <File name="Service.svc.cs" DependentUpon="Service.svc">
<![CDATA[${StandardHeader.C#} <![CDATA[${StandardHeader.C#}
using System; using System;
using System.ServiceModel; using System.ServiceModel;
@ -55,35 +55,17 @@ using System.ServiceModel;
namespace ${StandardNamespace} namespace ${StandardNamespace}
{ {
[ServiceContract] [ServiceContract]
public interface ICalculator public interface IService
{ {
[OperationContract] [OperationContract]
double Add(double n1, double n2); void MyOperation();
[OperationContract]
double Subtract(double n1, double n2);
[OperationContract]
double Multiply(double n1, double n2);
[OperationContract]
double Divide(double n1, double n2);
} }
public class ServiceCalculator : ICalculator public class Service : IService
{ {
public double Add(double n1, double n2) public void MyOperation()
{
return n1 + n2;
}
public double Subtract(double n1, double n2)
{
return n1 - n2;
}
public double Multiply(double n1, double n2)
{
return n1 * n2;
}
public double Divide(double n1, double n2)
{ {
return n1 / n2; // implement the operation
} }
} }
} }
@ -94,12 +76,10 @@ namespace ${StandardNamespace}
<configuration> <configuration>
<system.serviceModel> <system.serviceModel>
<services> <services>
<!-- This section is optional with the default configuration model introduced in .NET Framework 4 --> <service name="${StandardNamespace}.Service">
<service name="${StandardNamespace}.ServiceCalculator">
<!-- This endpoint is exposed at the base address provided by host: http://localhost/${ProjectName}/ServiceCalculator.svc -->
<endpoint address="" <endpoint address=""
binding="wsHttpBinding" binding="wsHttpBinding"
contract="${StandardNamespace}.ICalculator" /> contract="${StandardNamespace}.IService" />
</service> </service>
</services> </services>
</system.serviceModel> </system.serviceModel>

99
data/templates/project/VB/VB.WcfRestServiceProject.xpt

@ -0,0 +1,99 @@
<?xml version="1.0"?>
<Template
author="Eusebiu Marcu"
created="13/09/2011"
lastModified="13/09/2011"
version="1.0">
<!-- Template Header -->
<TemplateConfiguration>
<Name>WCF REST Service</Name>
<Category>VB</Category>
<Subcategory>WCF</Subcategory>
<Icon>VBNet.Project.Form</Icon>
<Description>WCF REST Service</Description>
<SupportedTargetFrameworks>v3.5</SupportedTargetFrameworks>
</TemplateConfiguration>
<!-- Actions -->
<Actions>
<Open filename="Service.svc.vb"/>
</Actions>
<Project language="VBNet">
<ProjectItems>
<Reference Include="System" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.ServiceModel.Web" />
</ProjectItems>
<PropertyGroup escapeValue="False">
<OutputType>Library</OutputType>
<ProjectTypeGuids>{3D9AD99F-2412-4246-B90B-4EAA41C64699};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<AppDesignerFolder>Properties</AppDesignerFolder>
</PropertyGroup>
<PropertyGroup configuration="Debug">
<OutputPath>bin\</OutputPath>
</PropertyGroup>
<PropertyGroup configuration="Release">
<OutputPath>bin\</OutputPath>
</PropertyGroup>
<Files>
<File name="Properties\AssemblyInfo.vb" src="DefaultAssemblyInfo.vb" />
<File name="Service.svc">
<![CDATA[
<%@ServiceHost language="VB" Debug="true" Service="${StandardNamespace}.Service"%>
]]>
</File>
<File name="Service.svc.vb" DependentUpon="Service.svc">
<![CDATA[${StandardHeader.VBNET}
Imports System
Imports System.ServiceModel
Imports System.ServiceModel.Web
<ServiceContract> _
Public Interface IService
<OperationContract> _
<WebGet(UriTemplate := "operation/{name}")> _
Function MyOperation(name As String) As String
End Interface
Public Class Service
Implements IService
Function MyOperation(name As String) As String Implements IService.MyOperation
' implement the operation
Return String.Format("Operation name: {0}", name)
End Function
End Class
]]>
</File>
<File name="web.config">
<![CDATA[<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<service name="${StandardNamespace}.Service">
<endpoint address=""
binding="webHttpBinding"
contract="${StandardNamespace}.IService"
behaviorConfiguration="webHttp" />
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="webHttp">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
]]>
</File>
</Files>
</Project>
</Template>

43
data/templates/project/VB/VB.WcfServiceProject.xpt

@ -17,7 +17,7 @@
<!-- Actions --> <!-- Actions -->
<Actions> <Actions>
<Open filename="ServiceCalculator.svc.vb"/> <Open filename="Service.svc.vb"/>
</Actions> </Actions>
<Project language="VBNet"> <Project language="VBNet">
@ -42,42 +42,27 @@
<Files> <Files>
<File name="Properties\AssemblyInfo.vb" src="DefaultAssemblyInfo.vb" /> <File name="Properties\AssemblyInfo.vb" src="DefaultAssemblyInfo.vb" />
<File name="ServiceCalculator.svc"> <File name="Service.svc">
<![CDATA[ <![CDATA[
<%@ServiceHost language="VB" Debug="true" Service="${StandardNamespace}.ServiceCalculator"%> <%@ServiceHost language="VB" Debug="true" Service="${StandardNamespace}.Service"%>
]]> ]]>
</File> </File>
<File name="ServiceCalculator.svc.vb" DependentUpon="ServiceCalculator.svc"> <File name="Service.svc.vb" DependentUpon="Service.svc">
<![CDATA[${StandardHeader.VBNET} <![CDATA[${StandardHeader.VBNET}
Imports System Imports System
Imports System.ServiceModel Imports System.ServiceModel
<ServiceContract> _ <ServiceContract> _
Public Interface ICalculator Public Interface IService
<OperationContract> _ <OperationContract> _
Function Add(n1 As Double, n2 As Double) As Double Sub MyOperation()
<OperationContract> _
Function Subtract(n1 As Double, n2 As Double) As Double
<OperationContract> _
Function Multiply(n1 As Double, n2 As Double) As Double
<OperationContract> _
Function Divide(n1 As Double, n2 As Double) As Double
End Interface End Interface
Public Class ServiceCalculator Public Class Service
Implements ICalculator Implements IService
Public Function Add(n1 As Double, n2 As Double) As Double Implements ICalculator.Add Public Sub MyOperation() Implements IService.MyOperation
Return n1 + n2 ' implement the operation
End Function End Sub
Public Function Subtract(n1 As Double, n2 As Double) As Double Implements ICalculator.Subtract
Return n1 - n2
End Function
Public Function Multiply(n1 As Double, n2 As Double) As Double Implements ICalculator.Multiply
Return n1 * n2
End Function
Public Function Divide(n1 As Double, n2 As Double) As Double Implements ICalculator.Divide
Return n1 / n2
End Function
End Class End Class
]]> ]]>
</File> </File>
@ -86,12 +71,10 @@ End Class
<configuration> <configuration>
<system.serviceModel> <system.serviceModel>
<services> <services>
<!-- This section is optional with the default configuration model introduced in .NET Framework 4 --> <service name="${StandardNamespace}.Service">
<service name="${StandardNamespace}.ServiceCalculator">
<!-- This endpoint is exposed at the base address provided by host: http://localhost/${ProjectName}/ServiceCalculator.svc -->
<endpoint address="" <endpoint address=""
binding="wsHttpBinding" binding="wsHttpBinding"
contract="${StandardNamespace}.ICalculator" /> contract="${StandardNamespace}.IService" />
</service> </service>
</services> </services>
</system.serviceModel> </system.serviceModel>

1
src/AddIns/BackendBindings/Boo/BooBinding/Test/BooBinding.Tests.csproj

@ -40,6 +40,7 @@
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
<Reference Include="System.Data" /> <Reference Include="System.Data" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
<Reference Include="nunit.framework"> <Reference Include="nunit.framework">
<HintPath>..\..\..\..\..\Tools\NUnit\nunit.framework.dll</HintPath> <HintPath>..\..\..\..\..\Tools\NUnit\nunit.framework.dll</HintPath>

2
src/AddIns/BackendBindings/Boo/BooBinding/Test/ResolverTests.cs

@ -51,7 +51,7 @@ namespace Grunwald.BooBinding.Tests
lastPC = pc; lastPC = pc;
HostCallback.GetCurrentProjectContent = delegate { return pc; }; HostCallback.GetCurrentProjectContent = delegate { return pc; };
pc.ReferencedContents.Add(AssemblyParserService.DefaultProjectContentRegistry.Mscorlib); pc.ReferencedContents.Add(AssemblyParserService.DefaultProjectContentRegistry.Mscorlib);
pc.ReferencedContents.Add(AssemblyParserService.DefaultProjectContentRegistry.GetProjectContentForReference("System.Windows.Forms", "System.Windows.Forms")); pc.ReferencedContents.Add(AssemblyParserService.DefaultProjectContentRegistry.GetProjectContentForReference("System.Windows.Forms", typeof(System.Windows.Forms.Form).Module.FullyQualifiedName));
pc.ReferencedContents.Add(booLangPC); pc.ReferencedContents.Add(booLangPC);
ICompilationUnit cu = new BooParser().Parse(pc, fileName, new StringTextBuffer(prog)); ICompilationUnit cu = new BooParser().Parse(pc, fileName, new StringTextBuffer(prog));
ParserService.RegisterParseInformation(fileName, cu); ParserService.RegisterParseInformation(fileName, cu);

8
src/AddIns/BackendBindings/VBNetBinding/Test/MockTextEditor.cs

@ -4,7 +4,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.Linq;
using ICSharpCode.AvalonEdit; using ICSharpCode.AvalonEdit;
using ICSharpCode.AvalonEdit.Highlighting; using ICSharpCode.AvalonEdit.Highlighting;
using ICSharpCode.Core; using ICSharpCode.Core;
@ -35,9 +35,9 @@ namespace ICSharpCode.VBNetBinding.Tests
pc.ReferencedContents.Add(AssemblyParserService.DefaultProjectContentRegistry.Mscorlib); pc.ReferencedContents.Add(AssemblyParserService.DefaultProjectContentRegistry.Mscorlib);
Dictionary<string, string> referencedAssemblies = new Dictionary<string, string>() { Dictionary<string, string> referencedAssemblies = new Dictionary<string, string>() {
{ "System", null }, { "System", typeof(Uri).Module.FullyQualifiedName },
{ "System.Core", null }, { "System.Core", typeof(Enumerable).Module.FullyQualifiedName },
{ "Microsoft.VisualBasic", null } { "Microsoft.VisualBasic", typeof(Microsoft.VisualBasic.Constants).Module.FullyQualifiedName }
}; };
foreach (var assembly in referencedAssemblies) { foreach (var assembly in referencedAssemblies) {
IProjectContent referenceProjectContent = AssemblyParserService.DefaultProjectContentRegistry.GetProjectContentForReference(assembly.Key, assembly.Value ?? assembly.Key); IProjectContent referenceProjectContent = AssemblyParserService.DefaultProjectContentRegistry.GetProjectContentForReference(assembly.Key, assembly.Value ?? assembly.Key);

1
src/AddIns/BackendBindings/VBNetBinding/Test/VBNetBinding.Tests.csproj

@ -32,6 +32,7 @@
<DebugType>None</DebugType> <DebugType>None</DebugType>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="Microsoft.VisualBasic" />
<Reference Include="PresentationCore"> <Reference Include="PresentationCore">
<RequiredTargetFramework>3.0</RequiredTargetFramework> <RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference> </Reference>

6
src/AddIns/BackendBindings/XamlBinding/XamlBinding.Tests/MockTextEditor.cs

@ -33,11 +33,11 @@ namespace ICSharpCode.XamlBinding.Tests
pc.ReferencedContents.Add(AssemblyParserService.DefaultProjectContentRegistry.Mscorlib); pc.ReferencedContents.Add(AssemblyParserService.DefaultProjectContentRegistry.Mscorlib);
Dictionary<string, string> referencedAssemblies = new Dictionary<string, string>() { Dictionary<string, string> referencedAssemblies = new Dictionary<string, string>() {
{ "System", null }, { "System", typeof(Uri).Assembly.Location },
{ "System.Xml", null }, { "System.Xml", typeof(System.Xml.XmlDocument).Assembly.Location },
{ "System.Xaml", typeof(System.Xaml.XamlReader).Assembly.Location }, { "System.Xaml", typeof(System.Xaml.XamlReader).Assembly.Location },
{ "WindowsBase", typeof(System.Windows.Media.Matrix).Assembly.Location }, { "WindowsBase", typeof(System.Windows.Media.Matrix).Assembly.Location },
{ "System.Core", null }, { "System.Core", typeof(System.Linq.Enumerable).Assembly.Location },
{ "PresentationCore", typeof(System.Windows.Media.Brush).Assembly.Location }, { "PresentationCore", typeof(System.Windows.Media.Brush).Assembly.Location },
{ "PresentationFramework", typeof(System.Windows.EventSetter).Assembly.Location } { "PresentationFramework", typeof(System.Windows.EventSetter).Assembly.Location }
}; };

2
src/AddIns/Misc/ResourceToolkit/Test/AbstractTestProjectTestFixture.cs

@ -92,7 +92,7 @@ namespace ResourceToolkit.Tests
DefaultProjectContent pc = new DefaultProjectContent(); DefaultProjectContent pc = new DefaultProjectContent();
pc.ReferencedContents.Add(AssemblyParserService.DefaultProjectContentRegistry.Mscorlib); pc.ReferencedContents.Add(AssemblyParserService.DefaultProjectContentRegistry.Mscorlib);
pc.ReferencedContents.Add(AssemblyParserService.DefaultProjectContentRegistry.GetProjectContentForReference("System", "System")); pc.ReferencedContents.Add(AssemblyParserService.DefaultProjectContentRegistry.GetProjectContentForReference("System", typeof(Uri).Module.FullyQualifiedName));
if (project != null) { if (project != null) {
if (project.LanguageProperties != null) { if (project.LanguageProperties != null) {

5
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/VBNET-Mode.xshd

@ -4,6 +4,7 @@
<!-- Updated 2005 by Daniel Grunwald for VB.NET 2.0 --> <!-- Updated 2005 by Daniel Grunwald for VB.NET 2.0 -->
<!-- Converted to AvalonEdit format by Daniel Grunwald in 2010 --> <!-- Converted to AvalonEdit format by Daniel Grunwald in 2010 -->
<!-- Updated 2010 by Siegfried Oleg Pammer for VB.NET 9 and 10 --> <!-- Updated 2010 by Siegfried Oleg Pammer for VB.NET 9 and 10 -->
<!-- Updated 2011 by Siegfried Oleg Pammer for VB 11 CTP -->
<SyntaxDefinition name="VBNET" extensions=".vb" xmlns="http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008"> <SyntaxDefinition name="VBNET" extensions=".vb" xmlns="http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008">
<Color name="Comment" foreground="Green" exampleText="' comment" /> <Color name="Comment" foreground="Green" exampleText="' comment" />
<Color name="String" exampleText="text = &quot;Hello, World!&quot;" /> <Color name="String" exampleText="text = &quot;Hello, World!&quot;" />
@ -64,6 +65,7 @@
<Word>AddressOf</Word> <Word>AddressOf</Word>
<Word>And</Word> <Word>And</Word>
<Word>AndAlso</Word> <Word>AndAlso</Word>
<Word>Await</Word>
<Word>Is</Word> <Word>Is</Word>
<Word>IsNot</Word> <Word>IsNot</Word>
<Word>Like</Word> <Word>Like</Word>
@ -208,6 +210,7 @@
<Word>Aggregate</Word> <Word>Aggregate</Word>
<Word>Ansi</Word> <Word>Ansi</Word>
<Word>Ascending</Word> <Word>Ascending</Word>
<Word>Async</Word>
<Word>Auto</Word> <Word>Auto</Word>
<Word>Binary</Word> <Word>Binary</Word>
<Word>By</Word> <Word>By</Word>
@ -221,6 +224,7 @@
<Word>Group</Word> <Word>Group</Word>
<Word>Infer</Word> <Word>Infer</Word>
<Word>Into</Word> <Word>Into</Word>
<Word>Iterator</Word>
<Word>Join</Word> <Word>Join</Word>
<Word>Key</Word> <Word>Key</Word>
<Word>Off</Word> <Word>Off</Word>
@ -232,6 +236,7 @@
<Word>Unicode</Word> <Word>Unicode</Word>
<Word>Until</Word> <Word>Until</Word>
<Word>Where</Word> <Word>Where</Word>
<Word>Yield</Word>
</Keywords> </Keywords>
</RuleSet> </RuleSet>
<RuleSet name="PreprocessorSet" ignoreCase="true"> <RuleSet name="PreprocessorSet" ignoreCase="true">

6
src/Main/Base/Project/Src/Gui/Dialogs/ReferenceDialog/GacReferencePanel.cs

@ -378,7 +378,8 @@ namespace ICSharpCode.SharpDevelop.Gui
} }
}); });
MSBuildInternals.ResolveAssemblyReferences(project, referenceItems.ToArray()); string mscorlibPath;
MSBuildInternals.ResolveAssemblyReferences(project, referenceItems.ToArray(), out mscorlibPath);
WorkbenchSingleton.SafeThreadAsyncCall( WorkbenchSingleton.SafeThreadAsyncCall(
delegate { delegate {
@ -422,7 +423,8 @@ namespace ICSharpCode.SharpDevelop.Gui
} }
}); });
MSBuildInternals.ResolveAssemblyReferences(project, referenceItems.ToArray()); string mscorlibPath;
MSBuildInternals.ResolveAssemblyReferences(project, referenceItems.ToArray(), out mscorlibPath);
foreach (ReferenceProjectItem rpi in referenceItems) { foreach (ReferenceProjectItem rpi in referenceItems) {
if (string.IsNullOrEmpty(rpi.Redist)) continue; if (string.IsNullOrEmpty(rpi.Redist)) continue;
if (!redistNameToRequiredFramework.ContainsKey(rpi.Redist)) { if (!redistNameToRequiredFramework.ContainsKey(rpi.Redist)) {

2
src/Main/Base/Project/Src/Project/CompilableProject.cs

@ -206,8 +206,6 @@ namespace ICSharpCode.SharpDevelop.Project
protected override ParseProjectContent CreateProjectContent() protected override ParseProjectContent CreateProjectContent()
{ {
ParseProjectContent newProjectContent = new ParseProjectContent(this); ParseProjectContent newProjectContent = new ParseProjectContent(this);
var mscorlib = AssemblyParserService.GetRegistryForReference(new ReferenceProjectItem(this, "mscorlib")).Mscorlib;
newProjectContent.AddReferencedContent(mscorlib);
return newProjectContent; return newProjectContent;
} }

14
src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs

@ -137,9 +137,21 @@ namespace ICSharpCode.SharpDevelop.Project
} }
} }
volatile string mscorlibPath;
/// <summary>
/// Gets the path to mscorlib.
/// This property is set only after ResolveAssemblyReferences() is called.
/// </summary>
public string MscorlibPath {
get { return mscorlibPath; }
}
public override void ResolveAssemblyReferences() public override void ResolveAssemblyReferences()
{ {
MSBuildInternals.ResolveAssemblyReferences(this, null); string mscorlib;
MSBuildInternals.ResolveAssemblyReferences(this, null, out mscorlib);
this.mscorlibPath = mscorlib;
} }
#region CreateProjectItem #region CreateProjectItem

14
src/Main/Base/Project/Src/Project/MSBuildInternals.cs

@ -5,8 +5,8 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using ICSharpCode.Core; using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Dom;
using Microsoft.Build.Construction; using Microsoft.Build.Construction;
using Microsoft.Build.Execution; using Microsoft.Build.Execution;
using Microsoft.Build.Framework; using Microsoft.Build.Framework;
@ -162,7 +162,7 @@ namespace ICSharpCode.SharpDevelop.Project
/// <param name="baseProject">The base project.</param> /// <param name="baseProject">The base project.</param>
/// <param name="referenceReplacements">A different set of references to use instead of those in the project. /// <param name="referenceReplacements">A different set of references to use instead of those in the project.
/// Used by the GacReferencePanel.</param> /// Used by the GacReferencePanel.</param>
internal static void ResolveAssemblyReferences(MSBuildBasedProject baseProject, ReferenceProjectItem[] referenceReplacements) internal static void ResolveAssemblyReferences(MSBuildBasedProject baseProject, ReferenceProjectItem[] referenceReplacements, out string mscorlibPath)
{ {
ProjectInstance project = baseProject.CreateProjectInstance(); ProjectInstance project = baseProject.CreateProjectInstance();
project.SetProperty("BuildingProject", "false"); project.SetProperty("BuildingProject", "false");
@ -215,18 +215,22 @@ namespace ICSharpCode.SharpDevelop.Project
referenceDict[item.Include] = item; referenceDict[item.Include] = item;
} }
mscorlibPath = null;
foreach (ProjectItemInstance item in project.GetItems("_ResolveAssemblyReferenceResolvedFiles")) { foreach (ProjectItemInstance item in project.GetItems("_ResolveAssemblyReferenceResolvedFiles")) {
DomAssemblyName assemblyName = new DomAssemblyName(item.GetMetadataValue("FusionName"));
string fullPath = FileUtility.GetAbsolutePath(baseProject.Directory, item.GetMetadataValue("Identity"));
string originalInclude = item.GetMetadataValue("OriginalItemSpec"); string originalInclude = item.GetMetadataValue("OriginalItemSpec");
ReferenceProjectItem reference; ReferenceProjectItem reference;
if (referenceDict.TryGetValue(originalInclude, out reference)) { if (referenceDict.TryGetValue(originalInclude, out reference)) {
reference.AssemblyName = new Dom.DomAssemblyName(item.GetMetadataValue("FusionName")); reference.AssemblyName = new Dom.DomAssemblyName(item.GetMetadataValue("FusionName"));
//string fullPath = item.GetEvaluatedMetadata("FullPath"); is incorrect for relative paths
string fullPath = FileUtility.GetAbsolutePath(baseProject.Directory, item.GetMetadataValue("Identity"));
reference.FileName = fullPath; reference.FileName = fullPath;
reference.Redist = item.GetMetadataValue("Redist"); reference.Redist = item.GetMetadataValue("Redist");
LoggingService.Debug("Got information about " + originalInclude + "; fullpath=" + fullPath); LoggingService.Debug("Got information about " + originalInclude + "; fullpath=" + fullPath);
reference.DefaultCopyLocalValue = bool.Parse(item.GetMetadataValue("CopyLocal")); reference.DefaultCopyLocalValue = bool.Parse(item.GetMetadataValue("CopyLocal"));
} else if (string.Equals(assemblyName.ShortName, "mscorlib", StringComparison.OrdinalIgnoreCase)) {
LoggingService.Debug("Got information for mscorlib: " + fullPath);
mscorlibPath = fullPath;
} else { } else {
LoggingService.Warn("Unknown item " + originalInclude); LoggingService.Warn("Unknown item " + originalInclude);
} }

18
src/Main/Base/Project/Src/Services/ParserService/ParseProjectContent.cs

@ -58,6 +58,17 @@ namespace ICSharpCode.SharpDevelop
// TODO: Translate me // TODO: Translate me
// progressMonitor.TaskName = "Resolving references for " + project.Name + "..."; // progressMonitor.TaskName = "Resolving references for " + project.Name + "...";
project.ResolveAssemblyReferences(); project.ResolveAssemblyReferences();
MSBuildBasedProject msbuildProject = project as MSBuildBasedProject;
if (msbuildProject != null) {
string mscorlib = msbuildProject.MscorlibPath;
if (string.IsNullOrEmpty(mscorlib)) {
AddReferencedContent(AssemblyParserService.DefaultProjectContentRegistry.Mscorlib);
} else {
AddReferencedContent(AssemblyParserService.DefaultProjectContentRegistry.GetProjectContentForReference("mscorlib", mscorlib));
}
} else {
AddReferencedContent(AssemblyParserService.DefaultProjectContentRegistry.Mscorlib);
}
foreach (ProjectItem item in items) { foreach (ProjectItem item in items) {
if (!initializing) return; // abort initialization if (!initializing) return; // abort initialization
progressMonitor.CancellationToken.ThrowIfCancellationRequested(); progressMonitor.CancellationToken.ThrowIfCancellationRequested();
@ -76,13 +87,6 @@ namespace ICSharpCode.SharpDevelop
internal void ReInitialize1(IProgressMonitor progressMonitor) internal void ReInitialize1(IProgressMonitor progressMonitor)
{ {
var mscorlib = AssemblyParserService.GetRegistryForReference(new ReferenceProjectItem(project, "mscorlib")).Mscorlib;
// don't fetch mscorlib within lock - finding the correct registry might access the project, causing
// a deadlock between IProject.SyncRoot and the ReferencedContents lock
lock (ReferencedContents) {
ReferencedContents.Clear();
AddReferencedContent(mscorlib);
}
// prevent adding event handler twice // prevent adding event handler twice
ProjectService.ProjectItemAdded -= OnProjectItemAdded; ProjectService.ProjectItemAdded -= OnProjectItemAdded;
ProjectService.ProjectItemRemoved -= OnProjectItemRemoved; ProjectService.ProjectItemRemoved -= OnProjectItemRemoved;

4
src/Main/Base/Test/CodeConverterTests.cs

@ -37,9 +37,9 @@ namespace ICSharpCode.SharpDevelop.Tests
{ {
DefaultProjectContent pc = new DefaultProjectContent(); DefaultProjectContent pc = new DefaultProjectContent();
pc.ReferencedContents.Add(projectContentRegistry.Mscorlib); pc.ReferencedContents.Add(projectContentRegistry.Mscorlib);
pc.ReferencedContents.Add(projectContentRegistry.GetProjectContentForReference("System.Windows.Forms", "System.Windows.Forms")); pc.ReferencedContents.Add(projectContentRegistry.GetProjectContentForReference("System.Windows.Forms", typeof(System.Windows.Forms.Form).Module.FullyQualifiedName));
if (sourceLanguage == SupportedLanguage.VBNet) { if (sourceLanguage == SupportedLanguage.VBNet) {
pc.ReferencedContents.Add(projectContentRegistry.GetProjectContentForReference("Microsoft.VisualBasic", "Microsoft.VisualBasic")); pc.ReferencedContents.Add(projectContentRegistry.GetProjectContentForReference("Microsoft.VisualBasic", typeof(Microsoft.VisualBasic.Constants).Module.FullyQualifiedName));
pc.DefaultImports = new DefaultUsing(pc); pc.DefaultImports = new DefaultUsing(pc);
pc.DefaultImports.Usings.Add("System"); pc.DefaultImports.Usings.Add("System");
pc.DefaultImports.Usings.Add("Microsoft.VisualBasic"); pc.DefaultImports.Usings.Add("Microsoft.VisualBasic");

1
src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj

@ -33,6 +33,7 @@
<FileAlignment>4096</FileAlignment> <FileAlignment>4096</FileAlignment>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="Microsoft.VisualBasic" />
<Reference Include="PresentationCore"> <Reference Include="PresentationCore">
<RequiredTargetFramework>3.0</RequiredTargetFramework> <RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference> </Reference>

2
src/Main/Base/Test/MemberLookupHelperTests.cs

@ -26,7 +26,7 @@ namespace ICSharpCode.SharpDevelop.Tests
{ {
ProjectContentRegistry r = new ProjectContentRegistry(); ProjectContentRegistry r = new ProjectContentRegistry();
msc = r.Mscorlib; msc = r.Mscorlib;
swf = r.GetProjectContentForReference("System.Windows.Forms", "System.Windows.Forms"); swf = r.GetProjectContentForReference("System.Windows.Forms", typeof(System.Windows.Forms.Form).Module.FullyQualifiedName);
DefaultProjectContent dpc = new DefaultProjectContent(); DefaultProjectContent dpc = new DefaultProjectContent();
dpc.ReferencedContents.Add(msc); dpc.ReferencedContents.Add(msc);

8
src/Main/Base/Test/NRefactoryResolverTests.cs

@ -29,8 +29,8 @@ namespace ICSharpCode.SharpDevelop.Tests
p.Parse(); p.Parse();
DefaultProjectContent pc = new DefaultProjectContent(); DefaultProjectContent pc = new DefaultProjectContent();
pc.ReferencedContents.Add(projectContentRegistry.Mscorlib); pc.ReferencedContents.Add(projectContentRegistry.Mscorlib);
pc.ReferencedContents.Add(projectContentRegistry.GetProjectContentForReference("System.Core", "System.Core")); pc.ReferencedContents.Add(projectContentRegistry.GetProjectContentForReference("System.Core", typeof(System.Linq.Enumerable).Module.FullyQualifiedName ));
pc.ReferencedContents.Add(projectContentRegistry.GetProjectContentForReference("System.Windows.Forms", "System.Windows.Forms")); pc.ReferencedContents.Add(projectContentRegistry.GetProjectContentForReference("System.Windows.Forms", typeof(System.Windows.Forms.Form).Module.FullyQualifiedName ));
HostCallback.GetCurrentProjectContent = delegate { HostCallback.GetCurrentProjectContent = delegate {
return pc; return pc;
}; };
@ -59,8 +59,8 @@ namespace ICSharpCode.SharpDevelop.Tests
return pc; return pc;
}; };
pc.ReferencedContents.Add(projectContentRegistry.Mscorlib); pc.ReferencedContents.Add(projectContentRegistry.Mscorlib);
pc.ReferencedContents.Add(projectContentRegistry.GetProjectContentForReference("System.Windows.Forms", "System.Windows.Forms")); pc.ReferencedContents.Add(projectContentRegistry.GetProjectContentForReference("System.Windows.Forms", typeof(System.Windows.Forms.Form).Module.FullyQualifiedName));
pc.ReferencedContents.Add(projectContentRegistry.GetProjectContentForReference("Microsoft.VisualBasic", "Microsoft.VisualBasic")); pc.ReferencedContents.Add(projectContentRegistry.GetProjectContentForReference("Microsoft.VisualBasic", typeof(Microsoft.VisualBasic.Constants).Module.FullyQualifiedName));
pc.Language = LanguageProperties.VBNet; pc.Language = LanguageProperties.VBNet;
lastPC = pc; lastPC = pc;
NRefactoryASTConvertVisitor visitor = new NRefactoryASTConvertVisitor(pc, ICSharpCode.NRefactory.SupportedLanguage.VBNet); NRefactoryASTConvertVisitor visitor = new NRefactoryASTConvertVisitor(pc, ICSharpCode.NRefactory.SupportedLanguage.VBNet);

7
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ProjectContent/ProjectContentRegistry.cs

@ -300,6 +300,11 @@ namespace ICSharpCode.SharpDevelop.Dom
protected virtual Assembly GetDefaultAssembly(string shortName) protected virtual Assembly GetDefaultAssembly(string shortName)
{ {
return null;
/*
* Special cases disabled: using these causes us the load the GAC assemblies,
* but we need to load the reference assemblies instead to support multi-targeting.
*
// These assemblies are already loaded by SharpDevelop, so we // These assemblies are already loaded by SharpDevelop, so we
// don't need to load them in a separate AppDomain/with Cecil. // don't need to load them in a separate AppDomain/with Cecil.
switch (shortName) { switch (shortName) {
@ -332,7 +337,7 @@ namespace ICSharpCode.SharpDevelop.Dom
return Assembly.Load("Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"); return Assembly.Load("Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
default: default:
return null; return null;
} }*/
} }
} }
} }

2
src/Main/ICSharpCode.SharpDevelop.Dom/Tests/ICSharpCode.SharpDevelop.Dom.Tests/CodeSnippetConverterTests.cs

@ -26,7 +26,7 @@ namespace ICSharpCode.SharpDevelop.Dom.Tests
{ {
referencedContents = new List<IProjectContent> { referencedContents = new List<IProjectContent> {
SharedProjectContentRegistryForTests.Instance.Mscorlib, SharedProjectContentRegistryForTests.Instance.Mscorlib,
SharedProjectContentRegistryForTests.Instance.GetProjectContentForReference("System", "System") SharedProjectContentRegistryForTests.Instance.GetProjectContentForReference("System", typeof(Uri).Module.FullyQualifiedName)
}; };
} }

2
src/Main/ICSharpCode.SharpDevelop.Dom/Tests/ICSharpCode.SharpDevelop.Dom.Tests/NRefactoryAstConverterTests.cs

@ -308,7 +308,7 @@ Module StringExtensions
End Sub End Sub
End Module"; End Module";
ICompilationUnit cu = Parse(code, SupportedLanguage.VBNet, SharedProjectContentRegistryForTests.Instance.Mscorlib, ICompilationUnit cu = Parse(code, SupportedLanguage.VBNet, SharedProjectContentRegistryForTests.Instance.Mscorlib,
SharedProjectContentRegistryForTests.Instance.GetProjectContentForReference("System.Core", "System.Core")); SharedProjectContentRegistryForTests.Instance.GetProjectContentForReference("System.Core", typeof(System.Linq.Enumerable).Module.FullyQualifiedName));
Assert.Greater(cu.Classes.Count, 0); Assert.Greater(cu.Classes.Count, 0);
Assert.AreEqual("StringExtensions", cu.Classes[0].Name); Assert.AreEqual("StringExtensions", cu.Classes[0].Name);
Assert.AreEqual(ClassType.Module, cu.Classes[0].ClassType); Assert.AreEqual(ClassType.Module, cu.Classes[0].ClassType);

12
src/Setup/Files.wxs

@ -730,6 +730,9 @@
<Component Id="CSharpWcfServiceFileTemplate" Guid="FBCEE100-BE0D-11E0-A9F2-C7D14824019B" DiskId="1"> <Component Id="CSharpWcfServiceFileTemplate" Guid="FBCEE100-BE0D-11E0-A9F2-C7D14824019B" DiskId="1">
<File Id="CSharp.WcfService.xft" Name="CSharp.WcfService.xft" Source="..\..\data\templates\file\CSharp\CSharp.WcfService.xft" KeyPath="yes" /> <File Id="CSharp.WcfService.xft" Name="CSharp.WcfService.xft" Source="..\..\data\templates\file\CSharp\CSharp.WcfService.xft" KeyPath="yes" />
</Component> </Component>
<Component Id="CSharpWcfRestServiceFileTemplate" Guid="00AE5E3C-DD9C-11E0-A234-EEB74724019B" DiskId="1">
<File Id="CSharp.WcfRestService.xft" Name="CSharp.WcfRestService.xft" Source="..\..\data\templates\file\CSharp\CSharp.WcfRestService.xft" KeyPath="yes" />
</Component>
</Directory> </Directory>
<Directory Id="MiscFileTemplatesFolder" Name="Misc"> <Directory Id="MiscFileTemplatesFolder" Name="Misc">
<Component Guid="F47EE9EB-321F-4D98-A373-BFE2C2D801D0" Id="EmptyHTMLFileTemplate" DiskId="1"> <Component Guid="F47EE9EB-321F-4D98-A373-BFE2C2D801D0" Id="EmptyHTMLFileTemplate" DiskId="1">
@ -804,6 +807,9 @@
<Component Id="VBWcfServiceFileTemplate" Guid="A1EABE3E-BE0D-11E0-A4E6-5BD14824019B" DiskId="1"> <Component Id="VBWcfServiceFileTemplate" Guid="A1EABE3E-BE0D-11E0-A4E6-5BD14824019B" DiskId="1">
<File Id="VB.WcfService.xft" Name="VB.WcfService.xft" Source="..\..\data\templates\file\VB\VB.WcfService.xft" KeyPath="yes" /> <File Id="VB.WcfService.xft" Name="VB.WcfService.xft" Source="..\..\data\templates\file\VB\VB.WcfService.xft" KeyPath="yes" />
</Component> </Component>
<Component Id="VBWcfRestServiceFileTemplate" Guid="28AB44B8-DD9C-11E0-AEE3-30B84724019B" DiskId="1">
<File Id="VB.WcfRestService.xft" Name="VB.WcfRestService.xft" Source="..\..\data\templates\file\VB\VB.WcfRestService.xft" KeyPath="yes" />
</Component>
</Directory> </Directory>
</Directory> </Directory>
<Directory Id="ProjectTemplatesFolder" Name="project"> <Directory Id="ProjectTemplatesFolder" Name="project">
@ -848,6 +854,9 @@
<Component Id="CSharpWcfServiceProjectTemplate" Guid="D793DD78-BE0C-11E0-AC34-34D04824019B" DiskId="1"> <Component Id="CSharpWcfServiceProjectTemplate" Guid="D793DD78-BE0C-11E0-AC34-34D04824019B" DiskId="1">
<File Id="CSharp.WcfServiceProject.xpt" Name="CSharp.WcfServiceProject.xpt" Source="..\..\data\templates\project\CSharp\CSharp.WcfServiceProject.xpt" KeyPath="yes" /> <File Id="CSharp.WcfServiceProject.xpt" Name="CSharp.WcfServiceProject.xpt" Source="..\..\data\templates\project\CSharp\CSharp.WcfServiceProject.xpt" KeyPath="yes" />
</Component> </Component>
<Component Id="CSharpWcfRestServiceProjectTemplate" Guid="8FEE65EC-DD9C-11E0-8968-81B84724019B" DiskId="1">
<File Id="CSharp.WcfRestServiceProject.xpt" Name="CSharp.WcfRestServiceProject.xpt" Source="..\..\data\templates\project\CSharp\CSharp.WcfRestServiceProject.xpt" KeyPath="yes" />
</Component>
</Directory> </Directory>
<Directory Id="MiscProjectTemplatesFolder" Name="Misc"> <Directory Id="MiscProjectTemplatesFolder" Name="Misc">
<Component Guid="F9A7F832-6EC8-4B15-A037-146BD028C9D5" Id="MiscProjectTemplates" DiskId="1"> <Component Guid="F9A7F832-6EC8-4B15-A037-146BD028C9D5" Id="MiscProjectTemplates" DiskId="1">
@ -889,6 +898,9 @@
<Component Id="VBWcfServiceProjectTemplate" Guid="FF1C11DA-BE0C-11E0-A35E-6FD04824019B" DiskId="1"> <Component Id="VBWcfServiceProjectTemplate" Guid="FF1C11DA-BE0C-11E0-A35E-6FD04824019B" DiskId="1">
<File Id="VB.WcfServiceProject.xpt" Name="VB.WcfServiceProject.xpt" Source="..\..\data\templates\project\VB\VB.WcfServiceProject.xpt" KeyPath="yes" /> <File Id="VB.WcfServiceProject.xpt" Name="VB.WcfServiceProject.xpt" Source="..\..\data\templates\project\VB\VB.WcfServiceProject.xpt" KeyPath="yes" />
</Component> </Component>
<Component Id="VBWcfRestServiceProjectTemplate" Guid="A45203E0-DD9C-11E0-974A-93B84724019B" DiskId="1">
<File Id="VB.WcfRestServiceProject.xpt" Name="VB.WcfRestServiceProject.xpt" Source="..\..\data\templates\project\VB\VB.WcfRestServiceProject.xpt" KeyPath="yes" />
</Component>
</Directory> </Directory>
<Component Guid="73EAC135-57B6-46C0-9F24-70A347B9AAC8" Id="ExampleProjectTemplate" DiskId="1"> <Component Guid="73EAC135-57B6-46C0-9F24-70A347B9AAC8" Id="ExampleProjectTemplate" DiskId="1">
<File Source="..\..\data\templates\project\ComplexExample.xpt.test" Id="ComplexExample.xpt.test" Name="ComplexExample.xpt.test" /> <File Source="..\..\data\templates\project\ComplexExample.xpt.test" Id="ComplexExample.xpt.test" Name="ComplexExample.xpt.test" />

5
src/Setup/Setup.wxs

@ -318,6 +318,11 @@
<ComponentRef Id="VBWcfServiceProjectTemplate"/> <ComponentRef Id="VBWcfServiceProjectTemplate"/>
<ComponentRef Id="VBWcfServiceFileTemplate"/> <ComponentRef Id="VBWcfServiceFileTemplate"/>
<ComponentRef Id="CSharpWcfRestServiceProjectTemplate"/>
<ComponentRef Id="CSharpWcfRestServiceFileTemplate"/>
<ComponentRef Id="VBWcfRestServiceProjectTemplate"/>
<ComponentRef Id="VBWcfRestServiceFileTemplate"/>
<ComponentRef Id="EmptyHTMLFileTemplate"/> <ComponentRef Id="EmptyHTMLFileTemplate"/>
<ComponentRef Id="EmptyMsBuildFileTemplate"/> <ComponentRef Id="EmptyMsBuildFileTemplate"/>
<ComponentRef Id="EmptyResourceFileTemplate"/> <ComponentRef Id="EmptyResourceFileTemplate"/>

Loading…
Cancel
Save