Ruben Vandeginste
unread,May 15, 2012, 7:18:56 PM5/15/12Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to openevery...@googlegroups.com
Sebastien,
I built openwrap-shell from master (commit
a2cac77af2c1c538903a7c26a1c6a0b1127af840) and this version of the
shell seems to work. I did have to install the exe manually in
AppData/Local: I replaced the existing o.exe with the o.exe built from
master. I tried removing the openwrap folder from AppData/Local and
install by running the exe, but this failed. (Further testing shows
that the shell still acts weird from time to time and tries to
download openwrap-1.0.2 and then complains that it cannot start...)
I built openwrap from the "f\semver" branch. I hit a bug in
build-wrap: stack trace and patch below. I also added a patch for
support for the most recent ReSharper plugin: it is simply registering
the correct version, and can use the existing 6.1.0 code.
I will test more later on. I tested with versions in the form
"x.y.z.*" and I noticed that "update-wrap" seems to prefer versions
that are as low as possible. Is that as intended?
Ruben
----
Stacktrace from the bug:
Project "C:\Development\Test\PPWCode.Util.OddsAndEnds\src\I\PPWCode.Util.OddsAndEnds.I.csproj"
on node 1 (Clean target(s)).
The "InitializeOpenWrap" task failed unexpectedly.
[C:\Development\Test\PPWCode.Util.OddsAndEnds\src\I\PPWCode.Util.OddsAndEnds.I.csproj]
System.Reflection.TargetInvocationException: Exception has been
thrown by the target of an invocation. --->
System.ArgumentNullException: Value cannot be null.
Parameter name: path
at System.IO.DirectoryInfo..ctor(String path)
at OpenFileSystem.IO.FileSystems.Local.Win32.Win32FileSystem.GetDirectory(String
directoryPath) in
c:\src\openfilesystem\src\OpenFileSystem\FileSystems\Local\Win32\Win32FileSystem.cs:line
10
at OpenWrap.Build.BuildInitializer.Initialize(String projectFile,
String currentDirectory) in
c:\Development\OpenWrap\new\openwrap\src\OpenWrap\Build\BuildInitializer.cs:line
17
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo
method, Object target, Object[] arguments, SignatureStruct& sig,
MethodAttributes methodAttributes, RuntimeType typeOwner)
at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo
method, Object target, Object[] arguments, Signature sig,
MethodAttributes methodAttributes, RuntimeType typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj,
BindingFlags invokeAttr, Binder binder, Object[] parameters,
CultureInfo culture, Boolean skipVisibilityChecks)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj,
BindingFlags invokeAttr, Binder binder, Object[] parameters,
CultureInfo culture)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at OpenWrap.Build.InitializeOpenWrap.Execute() in
c:\Development\OpenWrap\new\openwrap\src\OpenWrap.Build.Bootstrap\InitializeOpenWrap.cs:line
41
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost
taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost
taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask,
Boolean& taskResult)
I checked the code, and in OpenWrap.CSharp.targets (line 46), the
InitializeOpenWrap task is initialized with 2 parameters: StartDebug
and CurrentProjectFile. The InitializeOpenWrap task also has a
property CurrentDirectory, which does not seem to be set. This means
that the Initialize method in the BuildInitializer class is called
with currentDirectory = null.
Patch for OpenWrap.CSharp.targets:
diff --git a/src/OpenWrap.Build.Tasks/OpenWrap.CSharp.targets
b/src/OpenWrap.Build.Tasks/OpenWrap.CSharp.targets
index 01d4e9e..c86b6d1 100644
--- a/src/OpenWrap.Build.Tasks/OpenWrap.CSharp.targets
+++ b/src/OpenWrap.Build.Tasks/OpenWrap.CSharp.targets
@@ -43,7 +43,7 @@
</PropertyGroup>
<Target Name="OpenWrap-Initialize">
- <InitializeOpenWrap StartDebug="$(OpenWrap-StartDebug)"
CurrentProjectFile="$(MSBuildProjectFullPath)" >
+ <InitializeOpenWrap StartDebug="$(OpenWrap-StartDebug)"
CurrentProjectFile="$(MSBuildProjectFullPath)"
CurrentDirectory="$(MSBuildProjectDirectory)" >
<Output TaskParameter="Name" PropertyName="OpenWrap-PackageName" />
<Output TaskParameter="Scope" PropertyName="_OpenWrap-Scope"
Condition="'$(OpenWrap-Scope)' == ''" />
<Output TaskParameter="DescriptorPath"
PropertyName="_OpenWrap-DescriptorPath"
Condition="'$(OpenWrap-DescriptorPath)' == ''" />
Patch for adding support for the new version 6.1.1 of the ReSharper plugin:
diff --git a/src/OpenWrap.VisualStudio.SolutionPlugins/ReSharper/ResharperLoaderPlugin.cs
b/src/OpenWrap.VisualStudio.SolutionPlugins/ReSharper/ResharperLoader
index 6ffdcd9..bc6cc24 100644
--- a/src/OpenWrap.VisualStudio.SolutionPlugins/ReSharper/ResharperLoaderPlugin.cs
+++ b/src/OpenWrap.VisualStudio.SolutionPlugins/ReSharper/ResharperLoaderPlugin.cs
@@ -20,7 +20,8 @@ namespace OpenWrap.SolutionPlugins.VisualStudio.ReSharper
{ new Version("5.0.1659.36"),
"OpenWrap.Resharper.PluginManager, OpenWrap.Resharper.500" },
{ new Version("5.1.1727.12"),
"OpenWrap.Resharper.PluginManager, OpenWrap.Resharper.510" },
{ new Version("6.0.2162.902"),
"OpenWrap.Resharper.PluginManager, OpenWrap.Resharper.600" },
- { new Version("6.1.37.86"),
"OpenWrap.Resharper.PluginManager, OpenWrap.Resharper.610" }
+ { new Version("6.1.37.86"),
"OpenWrap.Resharper.PluginManager, OpenWrap.Resharper.610" },
+ { new Version("6.1.1000.82"),
"OpenWrap.Resharper.PluginManager, OpenWrap.Resharper.610" }
};
readonly IFileSystem _fileSystem;