Giter Club home page Giter Club logo

slow-cheetah's Introduction

slow-cheetah

NuGet package Build status

Transformations for XML files (such as app.config) and JSON files.

Includes two primary components:

  1. NuGet package that adds an msbuild task to perform transforms on build.
  2. Visual Studio extension for generating and previewing transforms.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Supported Platforms

Supported File Types

SlowCheetah supports transformations for XML files, specified by XDT and for JSON files, specified by JDT. Transform files created by the extension follow these formats.

Features

Perform transformations of XML and JSON files on build per configuration and publish profiles.

Quickly add and preview transformations to a file in the project.

slow-cheetah's People

Contributors

adrianvmsft avatar billhiebert avatar brantb avatar cemsagan avatar cfbarbero avatar chrispauly avatar davilimap avatar djeebus avatar drewgreenwell avatar iambtshft avatar icnocop avatar jviau avatar microsoft-github-policy-service[bot] avatar parag0n83 avatar peschuster avatar pyxze avatar sayedihashimi avatar sean-rose avatar steliyan avatar thebeardedllama avatar tsahi avatar ttstanley avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

slow-cheetah's Issues

Preview Transform displays message "Illegal characters in path"

OS: Windows 10 Pro
IDE: Visual Studio Enterprise 2017 15.4.4
Application: .NET Core 2.0 Console Application
NuGet: Microsoft.VisualStudio.SlowCheetah 3.0.61

I have a "appsettings.json". I selected "Add Transform" to create "appsettings.Debug.json" and "appsettings.Release.json". I modified the transformation files. When I build the project, I can see the transformed "appsettings.json" with correct values both in debug and release mode. Works as expected.

But, every time I select "Preview Transform", a message is displayed "Illegal characters in path".

Unable to rename or add additional transform files

After installing the extension (v.3.0.061) in VS2017, I was able to right click and add App.Debug.Config and App.Release.Config. I did not see a way to add additional transforms (I have 4 environments) and I could not rename the App.Debug.config or App.Release.config, only the base App.config can be renamed. Is there a way to add additional files and rename them?

Preview should not create unnecessary temp files

When previewing transform, a temp file is always created for the preview. This should not happen if neither the source nor the transform file have not changed.
The package should cache the latest temp file along with the timestamps of the original files. If the timestamps remain unchanged, just use the that temp file. If not, create another one.

Missing file packages/SlowCheetah.2.5.48/tools/SlowCheetah.xdt.dll

Still investigating, sorry, hang on... thought I knew exactly what the problem was

SharingMemories\Main\packages\SlowCheetah.2.5.48\build\SlowCheetah.targets(192,5): Error MSB4062: The "TransformXml" task could not be loaded from the assembly C:\vsts_agent\_work\1\s\SharingMemories\Main\packages\SlowCheetah.2.5.48\build\..\tools\SlowCheetah.Xdt.dll. Could not load file or assembly 'file:///C:\vsts_agent\_work\1\s\SharingMemories\Main\packages\SlowCheetah.2.5.48\tools\SlowCheetah.Xdt.dll' or one of its dependencies. The system cannot find the file specified. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.

I go to track this down and see:

tree /f /a packages/ShowCheetah.2.5.48

Folder PATH listing
Volume serial number is D2FE-A6A1
C:\COOLPROJECT\MAIN\PACKAGES\SLOWCHEETAH.2.5.48
|   readme.txt
|   SlowCheetah.2.5.48.nupkg
|
+---build
|       SlowCheetah.targets
|
\---tools
        Microsoft.Web.XmlTransform.dll
        SlowCheetah.dll

trying to access SlowCheetah.xdt.dll when theres only SlowCheetah.dll doesnt work!

Visual Studio 2017 extension not available for download

The link in the transforming_files.md links to the SlowCheetah Visual Studio extension but it's a 404.
https://marketplace.visualstudio.com/items?itemName=WillBuikMSFT.SlowCheetah-XMLTransforms

If you google the itemName it links to the same page above but the tool is not available.

I'm looking at the installed Extensions and Updates in my VS2017 and the nuget package definitely didn't install the extension - this is coupled by the fact that I can't transform a simple .config file.

Compatibility with VS 2013

as the title says, I'm not able to install the official extension package distrbution on VS 2013, attached log:

9/2017 5:31:25 PM - Searching for applicable products...
5/19/2017 5:31:25 PM - Found installed product - Microsoft Visual Studio Premium 2013
5/19/2017 5:31:25 PM - Found installed product - Microsoft Visual Studio Professional 2013
5/19/2017 5:31:25 PM - Found installed product - Microsoft Visual Studio 2013 Shell (Integrated)
5/19/2017 5:31:25 PM - Found installed product - Global Location
5/19/2017 5:31:25 PM - VSIXInstaller.NoApplicableSKUsException: This extension is not installable on any currently installed products.

slow-cheetah AWS toolkit problems?

Are there any known issues with slow-cheetah and AWS toolkit in VS2017? The reason I'm asking is because I'm having trouble updating AWS instances and the trouble started after I installed and started using slow-cheetah.

In addition to this, whilst searching for people with a similar problem I came across this post
https://forums.aws.amazon.com/thread.jspa?threadID=219034 which is exactly the problem I'm having. (the search term "Could not move C:\cfn\download_version_bundle.ps1.bak2 to C:\cfn\download_version_bundle.ps1.bak" led me there, this was the only good hit).

The link above doesn't explicitly mention slow-cheetah but since the author of the post is Sidney Haddad I thought it might be more than coincidence?

Transforms EDMX files before compilation

Hello Everybody,

I'm trying to create a transformation for my EF6 EDMX file. The problem is that when I try to add a transformation an error occurs because of the name of the transformation file:
image

Is there any workaround or update to my problem? Thank you.

Allow configuration to emit error when transform contains directive that cannot be satisfied.

We just ran into an issue where we had a transform directive to replace and match by attribute "name" but there was a typo in the transform, so it ended up doing nothing. Here is an example:

Original XML:
<Setting name="SomeSetting" value="foo" />

Transform XML:
<Setting name="SomeSettin" value="bar" xdt:Transform="Replace" xdt:Locator="Match(name)" />

We would like a configuration feature for SlowCheetah to specify the build task to emit an error when a transform directive cannot be satisfied (i.e. is a no-op).

Support for publishing on .NET Core

While the build pipeline in .NET Core is similar to the one in the previous .NET framework, the publishing pipeline is very different. Currently SlowCheetah does not insert itself into .NET Core publishing process, causing transform files to not be properly copied to the publish location.

ApplicationSettings Transforms Are Ignored

Using VS 2015, transformations for application settings within the application settings group and inside the (projectname).Properties.Settings group are ignored. The transforms preview fine, but clearly are ignored in the test environment. This is in version 3.0.61.18192.

My application code which accesses the setting is as follows:

rpvNoticeDocument.ReportPath = NoticesCommon.Properties.Settings.Default.CobraHeader;

The setting is essentially a path to an rdlc file which differs between debug and test environments, and the setting is located in a "common" project, which is other than where the code that accesses it exists. If the tranformation is bypassed and the test environment path is inserted into the setting prior to building the test executable, the application finds the rdlc no problem, proving the issue is with the transform.

Preview transform only works for Project configurations

Related:
sayedihashimi/slow-cheetah#248
#46

We have the following configuration file structure:

image

Acceptance nor Production are known as Project configurations however, they get used during deployment with Octopus: Naming configuration transform files

This feature will run your configuration transforms based on looking for transform files named with the following conventions. The configuration transformation files can either be named *.Release.config, or *..config and will be executed in this order:

Slow-cheetah no longer has a "Preview Transform" item in the context menu, if I recall correctly the built-in XDT tool had ...

image

File to transform not found / wwwroot folder / ASP.NET Core 1.1

I wanted to add an environment.json for my SPA to be transformed on build/publish.
It works for the root directory but not if the json is inside the wwwroot folder.
As soon as I add transforms to my json file, building/publishing fails with error:
Severity Code Description Project File Line Suppression State

Error MSB4018 The "SlowCheetah.TransformTask" task failed unexpectedly.

System.IO.FileNotFoundException: File to transform not found
File name: 'D:\myproject\wwwroot\enviroment.json;D:\myproject\wwwroot\enviroment.json'
at Microsoft.VisualStudio.SlowCheetah.JsonTransformer.Transform(String source, String transform, String destination)
at Microsoft.VisualStudio.SlowCheetah.TransformTask.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext() MyProject C:....nuget\packages\microsoft.visualstudio.slowcheetah\3.0.61\build\Microsoft.VisualStudio.SlowCheetah.targets 83

Looks like the same file appears to times in the path.

Preview Transform not working for app.config

Environment:
Win7 x64
VS2015
WPF application
App.config Add Transform is done
App.Debug.config and App.Release.config are generated and shown in solution explorer

No matter how I change the App.Debug.config or App.Release.config, the "Preview Transform" shows NO DIFF in the comparing window. Both sides are the same as App.config

Access to the path appsettings.Debug.json is denied

My appsettings.json and appsettings.*.json files are under source control and are checked-in, so readonly. I'm getting this error when I try to build the project:

MSB4018	The "SlowCheetah.TransformTask" task failed unexpectedly.
System.UnauthorizedAccessException: Access to the path 'D:\MyProject\appsettings.Debug.json' is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
   at Microsoft.VisualStudio.Jdt.JsonTransformation..ctor(String transformFile, IJsonTransformationLogger logger)
   at Microsoft.VisualStudio.SlowCheetah.JsonTransformer.Transform(String source, String transform, String destination)
   at Microsoft.VisualStudio.SlowCheetah.TransformTask.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()	Identity.Authentication.Web.UI	C:\Users\user\.nuget\packages\microsoft.visualstudio.slowcheetah\3.0.61\build\Microsoft.VisualStudio.SlowCheetah.targets	83	

Checking out the file get rids of the error but I rather not to do this every time I open the project. Is there a workaround?

Support only for JObjects during json transformation

My .Json file is an array of objects, so the transformation fails with the following error:

The "SlowCheetah.TransformTask" task failed unexpectedly.
Newtonsoft.Json.JsonReaderException: Error reading JObject from JsonReader. Current JsonReader item is not an object: StartArray. Path '', line 1, position 1.
at Newtonsoft.Json.Linq.JObject.Load(JsonReader reader, JsonLoadSettings settings)
at Microsoft.VisualStudio.Jdt.JsonTransformation.SetTransform(Stream transformStream)
at Microsoft.VisualStudio.Jdt.JsonTransformation..ctor(String transformFile, IJsonTransformationLogger logger)
at Microsoft.VisualStudio.SlowCheetah.JsonTransformer.Transform(String source, String transform, String destination)
at Microsoft.VisualStudio.SlowCheetah.TransformTask.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext()

[
    {
        "Id": "405",
         .....
    }
]

Preview Transform does not work unless you have associated project configurations

For reasons to boring to explain, I have a transformations that do not have associated project configurations. For example, though I only have "Debug" and "Release" configurations, I might have an app.config transformation named "Foo.Bar.exe.Production.config"


    <Content Include="Foo.Bar.exe.Production.config">
      <DependentUpon>App.config</DependentUpon>
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      <SubType>Designer</SubType>
      <IsTransformFile>True</IsTransformFile>
    </Content>

This has always worked in the past, but isn't working for me now
Visual Studio 2017 15.4.5
SlowCheetah 3.0.61.18192

When I try to preview my transform files, nothing happens. I don't even get a preview window. Again, this used to work. :-(

Add Config Transform no longer available on all files

Our site uses a web.config.template file with config-specific transforms. Under the previous version (2.5.48) this was not a problem and we could add/update transform files with the right-click Add Config Transform.

<TransformXml Source="Web.config.Template" Destination="Web.config" Transform="Web.config.$(Configuration).template" />

Under the current version 3.0.61 the Add Config Transform option is not available on our .template files (although Preview Transform still works). I'm also unable to manually add or rename transform files via Solution Explorer. I want to avoid manually editing the project file if possible.

Is this now an unsupported setup? I believe it was put in place to allow transforms to happen on build (in the working directory) and not just on publish. The generated web.config is, of course, not included in source control.

SlowCheetah Task not compatible with .NET CLI

In an attempt to update my EF Core first database ... I run dotnet ef database update.

This results in the following error:

C:\Users\Alon.nuget\packages\microsoft.visualstudio.slowcheetah\3.0.61\build\Microsoft.VisualStudio.SlowCheetah.targets(83,5): error MSB4062: The "TransformTask" task could not be loaded from the assembly C:\Users\Alon.nuget\packages\microsoft.visualstudio.slowcheetah\3.0.61\build..\tools\Microsoft.VisualStudio.SlowCheetah.dll. Could not load file or assembly 'Microsoft.Build.Utilities.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified. Confirm that the declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.

Others are experiencing this same exact issue ... from SO.

Any chance this project is being bit by the same thing that the SO mentions?

"DotNet" commands worked no problem before installing SlowCheetah. Any suggestions? (Which would also help the OP in the SO issue as well!)

SlowCheetah not transforming on F5 for web project

Hello,

I have made a post about this issue on StackOverflow: https://stackoverflow.com/questions/44420592/slowcheetah-not-transforming-on-f5-debug

Basically whenever I try to debug (F5) my app and select "Test" build configuration the config transforms don't get applied and I end up debugging with the settings in my regular Web.config vs. the intended Web.Test.Config settings.

My best understanding of what SlowCheetah does was that you can create a custom build configuration, add a config file for it, select that configuration and then hit F5 and voila config transform gets applied and I am debugging my app with "Test" configuration settings vs. regular Debug setting.

Running VS2015 Update 3 with a fresh install of 3.0.61 and have installed the latest VS extension. Am I not understanding something about how SlowCheetah works?

Thanks.

Transformations from referenced project aren't applied

When a project references another one that contains a normal XML file and its transformations the transformed XML file from referenced project is not copied to the output of project referencing it (note that transformations are applied and copied to output folder of their project).

I noticed a property ScAllowReferencedConfig mentioned in documentation that seems to indicate this is possible. Although I cannot find any references to this property anywhere in code.

Version 3.0.61, Visual Studio 2017

Transforms don't seem to work for Solution Configurations.

I have a number of solution configurations that I would like to add transforms.

I am using the latest version of SlowCheetah (3.0.61) in an ASP.Net Core project (full DotNet framework). While the "Debug" and "Release" transforms seem like they may work .. VS2017 added them and I can also preview them, none of my other Solution configurations even generate a preview.

Any suggestions?

Update: If I delete all my solution configurations and then add them back, with "Create New Project Configurations" checked, then this seems to work. if this is how it should be, then I think the documentation should reflect this.

Improve title on github

The title is currently set to:

Tooling for file transforms on build and in Visual Studio

I think better would be:

Tooling for xml and json file transforms on build from Visual Studio and MSBuild.

The current text makes it seem like you need to use Visual Studio for the transforms to be executed.

Transforming an Xamarin Android Asset

Hi guys,

Is it possible to transform an android asset file. Basically it should transform it and put it in the same place (Assets directory or a subdirectory) with the same name.

Add Transform in context menu not available in Web projects

SlowCheetah VSX (3.0.61.18192) and NuGet installed in Visual Studio 2017 and used in old Web Form project (first created in 2012). Add Transform in the context menu is not available for files (*.config, *.xml) in this Web project. When adding NuGet to another project (WinForm cs project) in the same solution, the item "Add Transform" appears and works correctly.

.NET 4.5 MSBuild Transforms not working

I have version 3.0.61 installed via Nuget.

My project is a .NET 4.5 Console Application(using Visual Studio 2015) and I want to transform my App.config file. I have created the transforms

image

In the .csproj file, I see that the markup necessary to get SlowCheetah to work is present(although there are warnings about invalid child elements for TransformOnBuild and IsTransformFile:

image

I see that the target for SlowCheetah is referenced:

image

But, when I build my project, for example in Release configuration, my transforms were not applied. In the output window, I do not see any reference to the fact that SlowCheetah is even trying to run, making me think that the Tasks are just not running and/or aren't being referenced.

Ultimately, I want to be able to run MSBuild during my Continuous Integration process and have the transforms apply appropriately.

"DependentUpon" not added in SDK-style csproj

"Add Transform" does not add the <DependentUpon>App.config</DependentUpon> Attribute when used in projects using the new SDK-style csproj.

Example:
Expected

   <None Include="App.Debug.config">
      <DependentUpon>App.config</DependentUpon>
      <IsTransformFile>True</IsTransformFile>
    </None>

Actual

   <None Include="App.Debug.config">
      <IsTransformFile>True</IsTransformFile>
    </None>

Using the old csproj style everything works fine.

The Add DepentUpon metadata to transform files option is activated in all cases.

Cross-platform support

SlowCheetah is currently built as net45, this probably breaks cross-platform support. Since slow-cheetah also supports VS 2015, and there is no xplat msbuild 14.0, additional work may need to be done to support Slow-Cheetah on non-Windows machines.

vsix failed to install on VS 2013 Ultimate

02.10.2017 12:27:24 - Microsoft VSIX Installer
02.10.2017 12:27:24 - -------------------------------------------
02.10.2017 12:27:24 - Initializing Install...
02.10.2017 12:27:24 - Extension Details...
02.10.2017 12:27:24 - Identifier : 9eb9f150-fcc9-4db8-9e97-6aef2011017c
02.10.2017 12:27:24 - Name : SlowCheetah
02.10.2017 12:27:24 - Author : Microsoft Corporation
02.10.2017 12:27:24 - Version : 3.0.61.18192
02.10.2017 12:27:24 - Description : Transform xml and json files at build time based on configuration. Contains tooling to assist in the creation and previewing of transform files.
02.10.2017 12:27:24 - Locale : en-US
02.10.2017 12:27:24 - MoreInfoURL : https://github.com/Microsoft/slow-cheetah
02.10.2017 12:27:24 - InstalledByMSI : False
02.10.2017 12:27:24 - SupportedFrameworkVersionRange : [4.5,)
02.10.2017 12:27:24 -
02.10.2017 12:27:24 - SignedBy : Microsoft Corporation
02.10.2017 12:27:24 - Certificate Info : [Subject]
CN=Microsoft Corporation, OU=MOPR, OU=OPC, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
...
02.10.2017 12:27:24 - Supported Products :
02.10.2017 12:27:24 - Microsoft.VisualStudio.Community
02.10.2017 12:27:24 - Version : [14.0,16.0)
02.10.2017 12:27:24 -
02.10.2017 12:27:24 - References :
02.10.2017 12:27:24 - -------------------------------------------------------
02.10.2017 12:27:24 - Identifier : Microsoft.VisualStudio.MPF.11.0
02.10.2017 12:27:24 - Name : Visual Studio MPF 11.0
02.10.2017 12:27:24 - Version : [11.0]
02.10.2017 12:27:24 - MoreInfoURL :
02.10.2017 12:27:24 - Nested : No
02.10.2017 12:27:24 -
02.10.2017 12:27:24 -
02.10.2017 12:27:24 - Searching for applicable products...
02.10.2017 12:27:24 - Found installed product - Microsoft Visual Studio Ultimate 2013
02.10.2017 12:27:24 - Found installed product - Microsoft Visual Studio Premium 2013
02.10.2017 12:27:24 - Found installed product - Microsoft Visual Studio Professional 2013
02.10.2017 12:27:24 - Found installed product - Microsoft Visual Studio 2013 Shell (Integrated)
02.10.2017 12:27:24 - Found installed product - Global Location
02.10.2017 12:27:24 - VSIXInstaller.NoApplicableSKUsException: This extension is not installable on any currently installed products.
at VSIXInstaller.App.InitializeInstall()
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()

Slowcheetah fails build using dotnet cli commands

We are using SlowCeetah to transform some configuration files and have converted the project to a .NET Standard project to target mulitple platforms. The build works fine when building using Visual Studio and MSBUILD, but when building using dotnet cli command it fails with this message.

USERPATH\.nuget\packages\microsoft.visualstudio.slowcheetah\3.0.61\build\Microsoft.VisualStudio.SlowCheetah.targets(83,5): error MSB4062: The "TransformTask" task could not be loaded from the assembly USERPATH\.nuget\packages\microsoft.visualstudio.slowcheetah\3.0.61\build..\tools\Microsoft.VisualStudio.SlowCheetah.dll. Could not load file or assembly 'Microsoft.Build.Utilities.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified. Confirm that the declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. [PROJECTFILE]

This is a quite urgent issue since publishing with runtime identifiers is buggy using Visual Studio/MSBuild, so these two issues takes out each other.

Clickonce sign fail

When running build with target Package, the resulting clickonce application manifest has the file size of the original settings.json file from the project. SC applies the transforms after Clickonce collected the file size and signs the manifest with the wrong file size. Workaround seems to be to do a Target=Rebuild and then a Target=Publish, Guess SC is invoked a bit late in the chain and "modifies" the resulting file after clickonce has created a manifest.

Transform not working on publish

I have added transform for log4net.config file. It shows correct in preview, it transforms fine on build, but when I publish application it doesnt do the transform, it copies original file. I use Asp.Net MVC 5.
I checked csproj file, it looks fine, the same as one in the example. Anyone knows what could be a problem?

Upgrading to 3.0.61

When I previewed an app.config in my console application, SlowCheetah complained that I needed to upgrade. I was running 2.5.48. When I installed 3.0.61, it added EnsureNuGetPackageBuildImports to the bottom of my file along with an Import Project node. Is this expected? I thought you had to remove this stuff to use NuGet 3.0?

Transforms for Connection Strings ignored by XSD queries

Using VS 2015, Application in test still uses the connection string for debug even though the previewed transform is showing the proper connection string for the test environment. After moving the queries out of the xsd designer and doing them in code, the application connects to the proper database. Essentially, XSD based queries ignore the slowcheetah transform.

Preview Transform does nothing when selected

System Info:
VS2015
Latest SlowCheetah as of 7/11/2017

Symptoms
When selecting the menu option 'Preview Transform', against a config transform file in my project, nothing happens. No code diff window appears, no error message is shown. It silently fails.

Is there a source where exceptions thrown by Slowcheetah are stored?

Multiple app.config related errors

I had successfully implemented SlowCheetah for my app.config and appsettings.json files. For some reason I can't build the project anymore since I'm getting multiple errors related to app.config tasks. Here are the errors:

Project1:

MSB4094 "obj\Debug\net452\win10-x64\Project1.csproj-sc.App.config;obj\Debug\net452\win10-x64\Project1.csproj-sc.App.config" is an invalid value for the "AppConfigFile" parameter of the "GenerateBindingRedirects" task. Multiple items cannot be passed into a parameter of type "Microsoft.Build.Framework.ITaskItem". C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets 2100

Project2:

MSB4094 "obj\Debug\net452\win10-x64\Project2.config;obj\Debug\net452\win10-x64\Project2.csproj-sc.App.config" is an invalid value for the "AppConfigFile" parameter of the "GenerateBindingRedirects" task. Multiple items cannot be passed into a parameter of type "Microsoft.Build.Framework.ITaskItem". C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets 2100

MSB3249 Application Configuration file "obj\Debug\net452\win10-x64\Project2.config;obj\Debug\net452\win10-x64\Project2.csproj-sc.App.config" is invalid. Could not find a part of the path 'D:\Project2\obj\Debug\net452\win10-x64\Project2.csproj-sc.App.config;obj\Debug\net452\win10-x64\Identity.Services.Api.csproj-sc.App.config'. D:\Identity.Services.Api\obj\Debug\net452\win10-x64\Identity.Services.Api.csproj-sc.App.config;obj\Debug\net452\win10-x64\Identity.Services.Api.csproj-sc.App.config 1

Cleaning bin and obj folders before build doesn't help. I have no custom code for app.config in csproj files.

Any idea of what's wrong here?

Nuget Packages and generated Web.Config file not opening Diff viewer

We have projects where the Web.Config have been moved to App_Config\Web.Base.Config followed by various other Web.{Profile}.config entries.

SlowCheetah transforms these into the final version of the Web.Config as a generated file in the root of the web application project.

When updating or installing Nuget packages, and those nuget packages make alterations to the Web.Config they are not automatically applied to Web.Base.Config.

On my colleagues machine his actually opens up a diff viewer and shows this message:

2017-07-11-1

I however do not get this message, and therefore do not know what changes from the generated web.config file should be moved to the Web.Base.Config file.

Why is this happening?

THis is dangerous as critical web.config entries are being missed and getting wiped out at the next build because they didn't make it into App_Config\Web.Base.Config which is the source of the generated project Web.Config file

No transformation for ASP.NET Core projects via Service Fabric / Console Application

Transformations do not appear to work for Service Fabric projects (either standalone or ASP.NET core).

Service Fabric projects are created as Console Applications with a csproj extension. Adding reference to the Microsoft.VisualStudio.SlowCheetah v3.0.61 works, however csproj remains unmodified. Added transforms for PackageRoot\Config\Settings.xml (created Settings.Debug.xml and Settings.Release.xml).

Changing current solution build configuration (e.g. to Release) and building it -- no XML transforms are being applied from Settings.Release.xml to Settings.xml (base file) even though:

    <None Update="PackageRoot\Config\Settings.Debug.xml">
      <IsTransformFile>True</IsTransformFile>
    </None>
    <None Update="PackageRoot\Config\Settings.Release.xml">
      <IsTransformFile>True</IsTransformFile>
    </None>
    <None Update="PackageRoot\Config\Settings.xml">
      <TransformOnBuild>true</TransformOnBuild>
    </None>

Output directory issue on Build vs Publish

Running MVC5, I am attempting to transform a file at my root directory: appSettings.config. This file contains all application settings and is called via web.config > appSettings file="".

On Build, the transformed version is output inside the /bin directory. To adjust for this during debugging, I needed change my web.config appSettings path to "bin/appSettings.config". The file at the root level is un-touched.

On Publish, the transformed version remains at the root level, with the /bin directory containing a non-transformed file. This breaks the adjustment made above. The same issue applies to the ApplicationInsights.config file that is read from the /bin directory but is not transformed on publish.

How do I assure consistency in the /bin directory? I want it to always contain transformed versions.

Preview Transform not working for publish profile transform

Hi,

If I right-click on a Publish Profile transform file (e.g. appSettings.CustomProfile.json) and select Preview Transform, nothing happens.

image

Previewing transforms for build configuration files (Debug/Release) works fine.

This is for a AspNetCore 2.0 project.

Thanks

Preview Transform & Transformation not working on console application

I have installed Slow Cheetah in visual studio 2015 and when I do add transformation it's adding debug and release config but when I do preview both are showing identical even though there are some changes, when I run the application on release mode it's not picking up config from release config file. Is there anything need to be done to fix this?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.