在我自己的Visual Studio Addin中发布WCF服务

时间:2015-10-07 08:38:07

标签: visual-studio wcf add-in wcf-data-services visual-studio-addins

我的Visual Studio解决方案包含两个主要项目:ClickOnce应用程序和WCF服务。

我有自己的Visual Studio Addin,发布我的ClickOnce应用程序,现在我也想发布WCF服务。

使用此代码,我更改属性以配置IIS路径:

Project clickOnceProj = GetProjectFromProjectName(MAIN_CLICKONCE_PROJECT_NAME);
Properties publishClickOnceProperties = (Properties) proj.Properties.Item("Publish").Value;
publishClickOnceProperties.Item("PublishUrl").Value = publishUrl;
publishClickOnceProperties.Item("InstallUrl").Value = installUrl;
publishClickOnceProperties.Item("UpdateUrl").Value = updateUrl;
clickOnceProj.Save();

然后我用这种方法发布:

public static bool CDCPUIEngine_Publish()
{
    SolutionBuild2 slnBuild2 = (SolutionBuild2)DTEUtilities.DTE.Solution.SolutionBuild;
    slnBuild2.Publish(true);
    bool buildDone = slnBuild2.BuildState == vsBuildState.vsBuildStateDone && slnBuild2.LastBuildInfo == 0;
    if (!buildDone) return false;
    return slnBuild2.PublishState == vsPublishState.vsPublishStateDone && slnBuild2.LastPublishInfo == 0;
}

尽管我使用整个解决方案发布,但这样可以正常工作,只发布两个主要项目,ClickOnce和WCF Serivce。 ClickOnce项目没有错误并且发布得很好,但是WCF服务失败了。

但是如果我手动发布服务然后我使用我的VisualStudio Addin,这可以正常工作并在上次配置的文件夹中发布(我检查了该文件夹是使用我的Addin再次重新创建的)。

有没有人可以帮助我并告诉我如何在我的Addin中以编程方式更改目标位置(我尝试使用发布属性,如ClickOnce,但我不能因为它无法访问,我想因为不是ClickOnce项目)。

在接下来的图片中,我向您展示了我希望能够以编程方式更改属性的向导。

Publish WCF Service wizard

0 个答案:

没有答案