diff --git a/src/AddIns/BackendBindings/WixBinding/Project/Src/WixBinaries.cs b/src/AddIns/BackendBindings/WixBinding/Project/Src/WixBinaries.cs index 709e197270..485d78dbb3 100644 --- a/src/AddIns/BackendBindings/WixBinding/Project/Src/WixBinaries.cs +++ b/src/AddIns/BackendBindings/WixBinding/Project/Src/WixBinaries.cs @@ -82,9 +82,11 @@ namespace ICSharpCode.WixBinding List GetWixFileNamesInProject(WixDocument document) { List fileNames = new List(); - foreach (FileProjectItem fileProjectItem in project.WixFiles) { - if (!FileUtility.IsEqualFileName(fileProjectItem.FileName, document.FileName)) { - fileNames.Add(fileProjectItem.FileName); + if (project != null) { + foreach (FileProjectItem fileProjectItem in project.WixFiles) { + if (!FileUtility.IsEqualFileName(fileProjectItem.FileName, document.FileName)) { + fileNames.Add(fileProjectItem.FileName); + } } } return fileNames; diff --git a/src/AddIns/BackendBindings/WixBinding/Test/Document/GetBinaryFileNameFromProjectTestFixture.cs b/src/AddIns/BackendBindings/WixBinding/Test/Document/GetBinaryFileNameFromProjectTestFixture.cs index 19933b331b..a1f92872b9 100644 --- a/src/AddIns/BackendBindings/WixBinding/Test/Document/GetBinaryFileNameFromProjectTestFixture.cs +++ b/src/AddIns/BackendBindings/WixBinding/Test/Document/GetBinaryFileNameFromProjectTestFixture.cs @@ -71,6 +71,19 @@ namespace WixBinding.Tests.Document Assert.AreEqual(expectedFileName, binaries.GetBinaryFileName("Dialog")); } + /// + /// SD2-1267 - If you open a single WiX file (.wxs) without opening + /// a WiX project you are unable to design its WiX dialog. + /// + [Test] + public void GetBinaryFileNameWhenWixDocNotInProject() + { + WixDocument doc = new WixDocument(); + WixBinaries binaries = new WixBinaries(doc, this); + + Assert.IsNull(binaries.GetBinaryFileName("UnknownId")); + } + public TextReader Create(string fileName) { fileName = Path.GetFileName(fileName);