Question

I have a new dev env with SP2016, Win2016, VS2017. Almost all of my work is development of farm solutions, so the process in general is the same since SP2010. On previous env I used CKSDev to speed up the deployment and simplify debugging and I want to continue, however seems that CKSDev development has frozen on VS2013. What can I do?

Was it helpful?

Solution

I found a solution to my problem.

  1. Download .vsix package of CKSDev https://marketplace.visualstudio.com/items?itemName=WesHackett.CKS-DevforVisualStudio2013
  2. Rename it to .zip and use any tool to edit the extension.vsixmanifest inside. Respect to this question and answers
  3. In the manifest add the last entry inside <Installation></Installation> tag, 15.0 means the version of Visual Studio 2017 and Microsoft.VisualStudio.Community is the SKU, use another if you have Professional or Enterprize

    <Installation>
        <InstallationTarget Version="[12.0,15.0)" Id="Microsoft.VisualStudio.Pro" />
        <InstallationTarget Version="[12.0,15.0)" Id="Microsoft.VisualStudio.Ultimate" />
        <InstallationTarget Version="[12.0,15.0)" Id="Microsoft.VisualStudio.Premium" />
        <InstallationTarget Version="15.0" Id="Microsoft.VisualStudio.Community" />
    </Installation>
    
  4. Rename the .zip back to .vsix, close VS and start installing.

  5. You will get the warning message like VSIX Installer Warning. Continue on your own risk, but seems that VS2017 respects only extensions with new version of manifest, but allows also old and shows this message every time, so don't worry.
  6. VS2017 has a bug that prevents CKSDEv to run, so change in C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\devenv.exe.config one assembly version from 14 to 15, seems it is old value for VS2015 by default

    <dependentAssembly>
        <assemblyIdentity name="Microsoft.VisualStudio.SharePoint" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
        <!--bindingRedirect oldVersion="10.0.0.0-14.0.0.0" newVersion="14.0.0.0"/-->
        <bindingRedirect oldVersion="10.0.0.0-14.0.0.0" newVersion="15.0.0.0"/>
    </dependentAssembly>
    
  7. Start VS.

I have a VisualStudio Community 2017 15.0.0+26228.9 and I don't know whether other SKUs or builds have this bug, but you may check on your env. Also I didn't check all the features of CKSDev, I can do Copy to SharePoint Root - what I need right now. I will update this post if I found any new info.

OTHER TIPS

Adding my two cents.

I've uploaded the extensions (VSIX) file here.

It should work with all VS 2017 editions:

Contents of the extension.vsixmanifest:

...
<Installation> <InstallationTarget Version="15.0" Id="Microsoft.VisualStudio.Community" /> <InstallationTarget Version="15.0" Id="Microsoft.VisualStudio.Pro" /> <InstallationTarget Version="15.0" Id="Microsoft.VisualStudio.Ultimate" /> <InstallationTarget Version="15.0" Id="Microsoft.VisualStudio.Premium" /> <InstallationTarget Version="15.0" Id="Microsoft.VisualStudio.Enterprise" /> </Installation> ...

Thanks, in my vs2017 enterprise works! With some modifications:

1) <InstallationTarget Version="15.0" Id="Microsoft.VisualStudio.Enterprise" />

2)devenv.exe.config file location is:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE

As of right now, Oleg's answer needs three more steps to complete:

I had to copy the extension folder from

%AppData%\Local\Microsoft\VisualStudio\14.0\Extensions\<Random name>

to

%AppData%\Local\Microsoft\VisualStudio\15.0_<random suffix>\Extensions\<Random name>

Additionally, I had to delete the *.CACHE files in the

%AppData%\Local\Microsoft\VisualStudio\14.0\Extensions

folder.

After a Visual Studio restart, my "Extension and Updates" dialog showed the "CKS - Dev for Visual Studio 2013" entry, and it even was already activated, but still didn't work right (the context menu on SharePoint project items was still missing). Just disable it, restart Visual Studio, enable it again, restart again, and voilà, the extension works as expected.

Licensed under: CC-BY-SA with attribution
Not affiliated with sharepoint.stackexchange
scroll top