I also posted this issue at typescript (https://typescript.codeplex.com/workitem/2192)
I don't know if it is a nCrunch or typescript issue.
I have a Dutch Windows 8.1, English Visual Studio 2013.1, Typescript 0.9.5.
My project compiles and builds fine in VS. However, I have nCrunch (http://www.ncrunch.net/) as a testrunner alongside VS. nCrunch can't build my project and gives the error at the end of the issue.
I tried copying the "en" folder in C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\TypeScript to "nl", but that doesn't work.
======== ERROR ========
The dutch text tranlates to:
System.Resources.MissingManifestResourceException: There is no appropiate source found for the culture or default culture. Check if TypeScript.Tasks.Strings.resources is correctly embedded of linked in assembly TypeScript.Tasks during compilation, or check if all sattelite assemblies are loadable and fully signed.
........\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\TypeScript\Microsoft.TypeScript.targets (96)#0: The "VsTsc" task failed unexpectedly.
System.Resources.MissingManifestResourceException: Er is geen enkele geschikte bron voor de opgegeven cultuur of de neutrale cultuur gevonden. Controleer of TypeScript.Tasks.Strings.resources juist is ingesloten of gekoppeld in assembly TypeScript.Tasks tijdens de compilatie, of controleer of alle vereiste satelliet-assembly's laadbaar en volledig ondertekend zijn.
bij System.Resources.ManifestBasedResourceGroveler.HandleResourceStreamMissing(String fileName)
bij System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(CultureInfo culture, Dictionary`2 localResourceSets, Boolean tryParents, Boolean createIfNotExists, StackCrawlMark& stackMark)
bij System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo requestedCulture, Boolean createIfNotExists, Boolean tryParents, StackCrawlMark& stackMark)
bij System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
bij System.Resources.ResourceManager.GetString(String name, CultureInfo culture)
bij TypeScript.Tasks.Strings.get_ErrorListBuildPrefix()
bij TypeScript.Tasks.VsTsc.LogEventsFromTextOutput(String singleLine, MessageImportance messageImportance)
bij Microsoft.Build.Utilities.ToolTask.LogMessagesFromStandardErrorOrOutput(Queue dataQueue, ManualResetEvent dataAvailableSignal, MessageImportance messageImportance, StandardOutputOrErrorQueueType queueType)
bij Microsoft.Build.Utilities.ToolTask.HandleToolNotifications(Process proc)
bij Microsoft.Build.Utilities.ToolTask.ExecuteTool(String pathToTool, String responseFileCommands, String commandLineCommands)
bij TypeScript.Tasks.VsTsc.ExecuteTool(String pathToTool, String responseFileCommands, String commandLineCommands)
bij Microsoft.Build.Utilities.ToolTask.Execute()
bij Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
bij Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__20.MoveNext()
Remco NCrunch Developer
#5361
19 Feb 2014 23:07 UTC
Hi, thanks for sharing this issue.
An important thing to check here would be whether or not the issue is related to the way your application is arranged inside the NCrunch workspace, or whether it is tied to the NCrunch build environment.
There's a fairly simple way we can do this. Try following these steps:
1. Run your build so that it fails in NCrunch
2. Right click on the failed build in the Tests Window, go to Advanced->Browse to workspace
3. Find the project file in the workspace that has been generated by NCrunch
4. Open a command prompt, and try building this project directly using MSBuild, for example: C:\Program Files (x86)\MSBuild\12.0\Bin\msbuild myproject.csproj
If the build passes, then this is an inconsistency between NCrunch's build process and Visual Studio's build process... perhaps related to the process culture.
If the build fails, then there is something not right inside the workspace. Check the contents of the workspace to make sure that all the files are there. You can freely copy files from your foreground solution to try and deduct where the issue lies, as long as you reset the NCrunch engine when you're finished (so that NCrunch can reset the workspace).
An important thing to check here would be whether or not the issue is related to the way your application is arranged inside the NCrunch workspace, or whether it is tied to the NCrunch build environment.
There's a fairly simple way we can do this. Try following these steps:
1. Run your build so that it fails in NCrunch
2. Right click on the failed build in the Tests Window, go to Advanced->Browse to workspace
3. Find the project file in the workspace that has been generated by NCrunch
4. Open a command prompt, and try building this project directly using MSBuild, for example: C:\Program Files (x86)\MSBuild\12.0\Bin\msbuild myproject.csproj
If the build passes, then this is an inconsistency between NCrunch's build process and Visual Studio's build process... perhaps related to the process culture.
If the build fails, then there is something not right inside the workspace. Check the contents of the workspace to make sure that all the files are there. You can freely copy files from your foreground solution to try and deduct where the issue lies, as long as you reset the NCrunch engine when you're finished (so that NCrunch can reset the workspace).
Ok, thanks. I tried your suggestion and the nmanual build from the ncrunch directory succeeds. I'm at a loss regarding the process culture, any idea?
Remco NCrunch Developer
#5364
20 Feb 2014 08:25 UTC
Thanks. I'm at a bit of a loss in trying to understand why this is failing inside the NCrunch process. I've checked the process for culture overrides and found nothing. I think the best course of action would be to wait and see what the TypeScript team can recommend before trying to progress further.
You should be able to disable the TypeScript compiler for NCrunch builds by finding the following line in your project file:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" />
and changing this to:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="$(NCrunch) != '1'" />
This should at least get you working until we have more information about why this task is failing. If this is a project you can share with me, I'd really like to take a look to see if I can reproduce the issue .. although I have a feeling it is more likely to be machine/configuration specific rather than project-specific.
You should be able to disable the TypeScript compiler for NCrunch builds by finding the following line in your project file:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" />
and changing this to:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="$(NCrunch) != '1'" />
This should at least get you working until we have more information about why this task is failing. If this is a project you can share with me, I'd really like to take a look to see if I can reproduce the issue .. although I have a feeling it is more likely to be machine/configuration specific rather than project-specific.
At the typescript side they are asking this:
Can you generate diagnostic logs for msbuild with ncrunch? (The msbuild commandline is /v:diag).
Is that possible?
Can you generate diagnostic logs for msbuild with ncrunch? (The msbuild commandline is /v:diag).
Is that possible?
Remco NCrunch Developer
#5376
24 Feb 2014 10:50 UTC
Absolutely. By default, NCrunch already runs the build with full diagnostic output as long as you have the 'Log Verbosity' global configuration setting set to 'Detailed'.
If you turn on the 'Log to output window' configuration setting, this output will be placed in the VS output window. You can also find it in the processing queue if you click on the build task.
If you turn on the 'Log to output window' configuration setting, this output will be placed in the VS output window. You can also find it in the processing queue if you click on the build task.
I hit a similar issue after I changed the regional settings on Windows. Fixed it by forcing TypeScript to always use en. In file "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\TypeScript\Microsoft.TypeScript.targets" set property PreferredUILang value to "en" like so:
...
Original error:
<PropertyGroup Condition="'$(TypeScriptBuildConfigurations)' == ''">
<!-- <PreferredUILang Condition="'$(BuildingInsideVisualStudio)' == 'true' and '$(PreferredUILang)' == ''">$([System.Globalization.CultureInfo]::CurrentUICulture.Name)</PreferredUILang> -->
[h]<PreferredUILang>en</PreferredUILang>[/h]
...
Original error:
..\..\..\..\..\..\..\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\TypeScript\Microsoft.TypeScript.targets (119, 5): The "VsTsc" task failed unexpectedly.
System.Resources.MissingManifestResourceException: Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "TypeScript.Tasks.Strings.resources" was correctly embedded or linked into assembly "TypeScript.Tasks" at compile time, or that all the satellite assemblies required are loadable and fully signed.
at System.Resources.ManifestBasedResourceGroveler.HandleResourceStreamMissing(String fileName)
at System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(CultureInfo culture, Dictionary`2 localResourceSets, Boolean tryParents, Boolean createIfNotExists, StackCrawlMark& stackMark)
at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo requestedCulture, Boolean createIfNotExists, Boolean tryParents, StackCrawlMark& stackMark)
at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
at System.Resources.ResourceManager.GetString(String name, CultureInfo culture)
at TypeScript.Tasks.Strings.get_ErrorListBuildPrefix()
at TypeScript.Tasks.VsTsc.LogEventsFromTextOutput(String singleLine, MessageImportance messageImportance)
at Microsoft.Build.Utilities.ToolTask.LogMessagesFromStandardErrorOrOutput(Queue dataQueue, ManualResetEvent dataAvailableSignal, MessageImportance messageImportance, StandardOutputOrErrorQueueType queueType)
at Microsoft.Build.Utilities.ToolTask.HandleToolNotifications(Process proc)
at Microsoft.Build.Utilities.ToolTask.ExecuteTool(String pathToTool, String responseFileCommands, String commandLineCommands)
at TypeScript.Tasks.VsTsc.ExecuteTool(String pathToTool, String responseFileCommands, String commandLineCommands)
at Microsoft.Build.Utilities.ToolTask.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__20.MoveNext()
Post a reply
Log in to reply.